0

ASP.NET aspx ページ (C#) からアクセス データベースに接続しようとしていますが、次のエラーが表示されます。

'Microsoft.Jet.OLEDB.4.0' プロバイダーがローカル コンピューターに登録されていません。

いくつかの調査の結果、サーバーが 64 ビットであり、アクセス データベースと対話する Jet ドライバーが 64 ビットでサポートされていないことが原因であると思われます。以前の解決策では、Web アプリを「任意の CPU」ではなく 32 ビット モードで実行するよう強制するか、サーバー上のドライバーを幻想的な 64 ビット バージョンにアップグレードすることを提案していました。問題は、サーバーへの直接の管理者アクセス権がなく、ファイル (web.config を含む) を編集するためのフォルダー アクセスしかないことです。私の質問は..web.config/aspxファイルのみの設定から、スクリプトを強制的に32ビットモードで実行することは可能ですか? (つまり、サーバー/IISの変更はありません)そうでなければ、サーバーに変更を加えるために官僚主義と戦わなければなりません;-)

皆さんありがとう

4

1 に答える 1

1

applicationPoolDefaults でenable32BitAppOnWin64属性を設定してみてください。

オプションのブール属性。

true の場合、64 ビット バージョンの Windows を実行するコンピューターで 32 ビット アプリケーションを実行できます。

デフォルト値は false です。

<applicationPools>
   <add name="DefaultAppPool" />
   <applicationPoolDefaults enable32BitAppOnWin64="True">
   </applicationPoolDefaults>
</applicationPools>

自分で試したことはありませんが、うまくいくはずです。

于 2012-09-05T06:09:15.087 に答える