“「Microsoft.Jet.OLEDB.4.0」プロバイダーがローカルマシンに登録されていません”… DNN
-
05-07-2019 - |
質問
64ビットサーバーで新しいDotNetNukeサイトを立ち上げて実行しようとすると、次のエラーメッセージが表示されます。
"「Microsoft.Jet.OLEDB.4.0」プロバイダーがローカルマシンに登録されていません
経験から、64ビットマシン上の64ビットアセンブリをターゲットにすると、これに遭遇することがわかります(現在64ビットOLE-DBプロバイダーはありません)。その場合、Visual Studioでx86をターゲットにするだけで、すべて正常に動作します。
ただし、この場合、サイトは動的コンパイルを使用するため、x86をターゲットにする必要があることを指定する簡単な場所はありません。何か考えはありますか?
TIA。
解決
そのサイトを実行しているアプリプールを変更して、32ビットアプリケーションとして実行できます。 IIS7マネージャーでは、[詳細設定]の下にある[アプリプールの設定を行い、「32ビットアプリケーションを有効にする」を設定します。本当に。
AppCmd でこれを行うこともできます次のコンソール:
appcmd apppool set /apppool.name:MyNukeSite /enable32BitAppOnWin64:true
IIS6では、このようなものを試すことができます(ここでは2行、メタベース値の変更が完了したらaspnet_regiisを実行します)...
cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1
aspnet_regiis.exe -i
詳細については、以下を参照してください。
他のヒント
こんにちは、Microsoftは2010 Office System Driver Beta:Data Connectivity Componentsをリリースしました。これは、32ビットOSと64ビットOSの両方でサポートされています。したがって、従来のMicrosoft.Jet.OLEDB.4.0ドライバーの代わりにこのドライバーを使用すると、64ビットサーバー上で実行される64ビットアプリケーションが提供されます(これが本当に必要なものです)。
これはベータ版ですが、私にとってはうまくいきました。
このドライバーは、 2010 Office System Driver Beta:データ接続コンポーネント
Thnks
32ビットをアプリケーションのターゲットにしようとしないでください。この場合、64ビットシステムを使用する利点が失われます。 aaaが指摘したように、最新のデータベースエンジン2010にアクセスして、この問題に対処してください。 私のブログ投稿完全なソリューション。
お役に立てば幸いです。