- 締切済み
mdbに接続できません
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としている。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- bx2
- ベストアンサー率47% (97/206)
「プロバイダーが見つかりません」が出ているので、AccessDatabaseEngine_X64.exe(64ビット)もインストールしてみたらどうなりますか? もしも、それで動くなら、64ビットアプリケーションとして動いていることがわかります。 アプリケーションが32ビットなら32ビットのドライバが、64ビットなら64ビットのドライバが使われます。 64ビットOSでは、32ビットと64ビットの両方のドライバをインストール可能です。
- utakataXEX
- ベストアンサー率69% (711/1018)
#1 です。 >本番系も開発系も64Bitです。 あ、そうなんですね。 補足を見た感じだと、確かに仮想ディレクトリ回りのような気がしますが、そうなると、ちょっと自分にはわかりかねます。 お役に立てませんで。
- utakataXEX
- ベストアンサー率69% (711/1018)
>「プロバイダーが見つかりません」 同じ構成の本番系でOKで開発系でNGと言うところから考えられるのは、 「本番系の Windows 2008 Server は 32bitで開発系の方は64bit」 ではないか、と言う事です。 どちらも32bitであるなら、以下は無視してください。 もし、開発系の方だけが 64bitであれば、32bit版のMicrosoft.ACE.OLEDB.12.0は使えません。 この辺のやりとりが参考になると思います。 ↓ http://social.msdn.microsoft.com/Forums/ja-JP/netfxgeneralja/thread/a31efffc-7bcf-4ea4-b293-6f72eb66a0a9/
補足
はじめてOKWAVEに掲示して、補足入力の方法がわからず返信 遅れました。すみません。 本番系も開発系も64Bitです。 あと、Microsoft.ACE.OLEDB.12.0は、Windws2008Serverでも インストール、使用も可能です。SYSWOW64で32Bitエミュレーション モードで動作すると記述がありました。 そうすると、ASPのアプリケーションプール設定、ASPの権限などが 問題となるのでしょうか。 当初mdbの接続エラーで、仮想ディレクトリの設定を確認したら読み取り 専用であったので、読み取り専用を解除したところ、一時的にmdbに接続 できるようになったのですが、レジストリを設定変更、また元の設定に戻 して更新し直したら接続できなくなりました。