重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

OS:Windows2008server SP2
Access Version:2000

はじめまして。

Windows2008Server上へ、Windows2000上のASPを移植しましたが、ADOでMDBに接続すると
「プロバイダーが見つかりません」というエラーでMDBが開けません。

サーバーは本番系、開発系で、同一のWindows2008Serverを準備しているのですが、
本番系では接続できるのですが、開発系はエラーとなります。IISのデフォルト設定、
OSのデフォルト設定、仮想ディレクトリへのアクセス制限等があるのかもしれません
が解決できません。詳しい方、ご教授ください。

以下、この投稿を行うにあたり、前提条件、事前に確認したことを列挙します。

OS、MDBについては上記の通り。
・MDBへ接続するため、マイクロソフトのサイトからaccessdatabaseEngine(32ビット)を
 ダウンロードしてインストール
・IIS7.0にMDB参照用のサイトを構築、ASPでネットワーク経由でMDBを操作する。
・言語はJscript(更新用),VBscript(参照用)。
・本番系、開発系とも、Provider=Microsoft.ACE.OLEDB12.0、Connectionstring="ADODB.CONNECTION"、
 フルパスでDSN指定
・本番系、開発系のiisのアプリケーションプール、MDB参照のサイトを確認した結果、同一であった。
・レジストリに指定してあるMicrosoft.ACE.OLEDB12.0のDriver、SetUpに対応するDLLは存在する。
・ODBCのレジストリを比較した結果、同一であった。
・「test.udl」を作成してMDBへの接続して接続テストを行うと接続ができる。
・32ビットアプリケーションはアプリケーションプールの詳細設定でTRUEとしている。

A 回答 (3件)

「プロバイダーが見つかりません」が出ているので、AccessDatabaseEngine_X64.exe(64ビット)もインストールしてみたらどうなりますか?


もしも、それで動くなら、64ビットアプリケーションとして動いていることがわかります。

アプリケーションが32ビットなら32ビットのドライバが、64ビットなら64ビットのドライバが使われます。
64ビットOSでは、32ビットと64ビットの両方のドライバをインストール可能です。
    • good
    • 0

#1 です。



>本番系も開発系も64Bitです。

あ、そうなんですね。

補足を見た感じだと、確かに仮想ディレクトリ回りのような気がしますが、そうなると、ちょっと自分にはわかりかねます。

お役に立てませんで。
    • good
    • 0

>「プロバイダーが見つかりません」



同じ構成の本番系でOKで開発系でNGと言うところから考えられるのは、
「本番系の Windows 2008 Server は 32bitで開発系の方は64bit」
ではないか、と言う事です。

どちらも32bitであるなら、以下は無視してください。

もし、開発系の方だけが 64bitであれば、32bit版のMicrosoft.ACE.OLEDB.12.0は使えません。

この辺のやりとりが参考になると思います。

http://social.msdn.microsoft.com/Forums/ja-JP/ne …

この回答への補足

はじめてOKWAVEに掲示して、補足入力の方法がわからず返信
遅れました。すみません。

本番系も開発系も64Bitです。
あと、Microsoft.ACE.OLEDB.12.0は、Windws2008Serverでも
インストール、使用も可能です。SYSWOW64で32Bitエミュレーション
モードで動作すると記述がありました。

そうすると、ASPのアプリケーションプール設定、ASPの権限などが
問題となるのでしょうか。

当初mdbの接続エラーで、仮想ディレクトリの設定を確認したら読み取り
専用であったので、読み取り専用を解除したところ、一時的にmdbに接続
できるようになったのですが、レジストリを設定変更、また元の設定に戻
して更新し直したら接続できなくなりました。

補足日時:2011/04/09 22:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す