web-dev-qa-db-ja.com

Microsoft.ACE.OLEDB.12.0プロバイダーが実際にインストールされている場合でも、ローカルマシンに登録されていませんISインストール済み

.accdbファイルをVisual StudioのWindowsフォームアプリケーションにデータソースとして接続しようとしています。 Microsoft.ACE.OLEDB.12.0プロバイダーはローカルマシンに登録されていません。

エラーのスクリーンショットとリストされたOleDb enumeratos

承認済み/動作中とマークされた関連する回答にすべての推奨ランタイムをインストールしました:

  • Microsoft Accessデータベースエンジン2010(x64)
  • Microsoft Accessデータベースエンジン2016(x64)
  • Microsoft Accessランタイム2010(x64)
  • Microsoft Accessランタイム2013(x64)

しかし、まだ同じ問題。

Windowsフォームプロジェクトでx86/x64プラットフォームを設定しても効果がありませんでした。

セットアップ:

  • Microsoft Windows 10 64ビットバージョン1809ビルド17763.437
  • Microsoft Visual Studio 2015 14.0.25431.01アップデート3
2
michaltadeas

プラットフォームの奇妙な混合が本当にあります。 64ビット以内に必要なすべてのものがインストールされていますが、接続すると「Microsoft.ACE.OLEDB.12.0プロバイダーがローカルマシンに登録されていません」という結果になりました。

86ビットバージョンをインストールしようとすると、「64ビットのOffice製品がインストールされているため、32ビットバージョンのMicrosoft Accessデータベースエンジンをインストールできません... ": セットアップランタイムエラー

Merav Kochaviのアドバイスに従って、/ passiveパラメーター( "AccessDatabaseEngine.exe/passive ")で、エラーメッセージは表示されず、正常に機能します。 テスト接続に成功しました。

助けてくれてありがとう!

5
michaltadeas

それが他の誰かを助ける場合、私は同じ問題を抱えていました。 1つのプロジェクトは機能しますが、もう1つは機能しません。 [プログラムの追加と削除]に移動し、Microsoft Accessデータベースエンジン2010をアンインストールしました。次に、MSI(64ビットではない)を使用して再インストールしました。 MSIへのリンクは次のとおりです。 https://www.Microsoft.com/en-us/download/details.aspx?id=13255

最後に、VSで、[プロジェクト]、[プロパティ]の順にクリックし、[32ビット優先]チェックボックスをオンにします。乾杯!

0
Chuck D