こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Win10(IIS) ASPでMDBをアクセス不可

とても困っております。お願いします。

Windows7 Pro 32ビットでIISを有効にし、稼働していたASPを
Windows10 Pro (OS:1903)64ビットに移行したところ、mdbへの接続でエラーになりました。

Microsoft Officeですが、
Windows7は、Office Professional Plus 2010(32ビット)
Windows10は、Office Professional Plus 2016(64ビット)です。

Const strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\inetpub\wwwroot\nwgp\MDB\term.mdb"
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open strConn  ←ここでエラー発生

この場合、on error resume next を入れても、「Webサイトはページを表示できません」と表示されます。

OLEDB.12をOLEDB.16に変更しても同じです。
mdbをaccdbに変換して、terma.ccdbに変えても同じでした。

Const strConn = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=C:\inetpub\wwwroot\nwgp\MDB\term.mdb"
にすると、「プロバイダーが見つかりません。正しくインストールされていない可能性があります。」
というエラーが、err.descriptionで表示されます。

フォルダやファイルのアクセス権は、IIS_USERSもeveryoneもフルアクセスにしてあります。

投稿日時 - 2019-10-18 09:15:05

QNo.9668341

困ってます

質問者が選んだベストアンサー

32ビットでiisを動かしている前提で
https://clut.blogspot.com/2017/10/windows-serverasp-classic.html?m=1

下記のように32ビットのアクセスのドライバを認識させる
https://www.idearu.info/article/data/ds1046

このような形でいけるのではないでしょうか。

投稿日時 - 2019-10-19 19:48:15

お礼

ありがとうございました。
32ビットアプリの有効化をTrueにし、
Microsoft Download Centerにある、Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント の32ビット版をインストールしました。
これで、エラーが解消しました。なぜ?とは思いますが、とりあえず、動いたので大変助かりました。

投稿日時 - 2019-10-21 16:40:50

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

Office 2016が「クイック実行形式」のものではありませんか?

クイック実行形式の Office をインストールすると ODBC / OLEDB が利用できない
https://blogs.technet.microsoft.com/officesupportjp/2016/09/06/not_available_access_odbc_oledb_outside_c2r_applications/

対策はインストーラー形式のOfficeに入れ替えることです。

投稿日時 - 2019-10-18 09:53:38

お礼

ありがとうございます。調べてみたところ、クイック実行形式ではありませんでした。
しかし、Office 64ビット版をアンインストールし、
Microsoft Acess Runtime 2016(32ビット)をダウンロードして、
インストールしてみましたが、ダメでした。
その後、Office2016 32ビット版をセットアップしてみましたが、やはり同じ結果でした。

投稿日時 - 2019-10-21 16:14:44