“「Microsoft.Jet.OLEDB.4.0」プロバイダーがローカルマシンに登録されていません”… DNN

StackOverflow https://stackoverflow.com/questions/1201918

質問

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にアクセスして、この問題に対処してください。 私のブログ投稿完全なソリューション。

お役に立てば幸いです。

scroll top