Windows 7 (x64) で Microsoft.ACE.OLEDB.12.0 プロバイダーを使用して MS Access データベースを読み取る x64 アプリケーションがあり、正常に動作します (Office 2010 がインストールされています)。
Office 2013 がインストールされた Windows 8 で同じアプリケーションを実行すると、プロバイダーが以前のバージョンを開くことができないというメッセージが表示されて失敗します。
Office 2013 がインストールされた Windows 8 では、Microsoft.ACE.OLEDB.15.0 もありますが、コードを再確認したところ、接続文字列で 12.0 が指定されていることが確認されました。
このプロバイダーにはさまざまな「バージョン」がありますか? それとも、私が見逃しているものがありますか?
x86 プラットフォームを使用するために Windows 8 でテスト プログラムを再コンパイルし、プロバイダーを Microsoft.Jet.OLEDB.4.0 に変更すると、すべてが再び機能します。残念ながら、モジュールは x64 (特に Excel へのプラグイン) で実行できる必要があるより大きなエコシステムの一部であり、アクセス データベースはアプリケーションによってサプライヤの Web サイトからスイートによってダウンロードされるため、データベースを変換したり、すべてを x86 に変更したりすることは現実的ではありません。
前もって感謝します。