.accdbファイルをVisual StudioのWindowsフォームアプリケーションにデータソースとして接続しようとしています。 Microsoft.ACE.OLEDB.12.0プロバイダーはローカルマシンに登録されていません。
エラーのスクリーンショットとリストされたOleDb enumeratos
承認済み/動作中とマークされた関連する回答にすべての推奨ランタイムをインストールしました:
しかし、まだ同じ問題。
Windowsフォームプロジェクトでx86/x64プラットフォームを設定しても効果がありませんでした。
セットアップ:
プラットフォームの奇妙な混合が本当にあります。 64ビット以内に必要なすべてのものがインストールされていますが、接続すると「Microsoft.ACE.OLEDB.12.0プロバイダーがローカルマシンに登録されていません」という結果になりました。
86ビットバージョンをインストールしようとすると、「64ビットのOffice製品がインストールされているため、32ビットバージョンのMicrosoft Accessデータベースエンジンをインストールできません... ": セットアップランタイムエラー
Merav Kochaviのアドバイスに従って、/ passiveパラメーター( "AccessDatabaseEngine.exe/passive ")で、エラーメッセージは表示されず、正常に機能します。 テスト接続に成功しました。
助けてくれてありがとう!
それが他の誰かを助ける場合、私は同じ問題を抱えていました。 1つのプロジェクトは機能しますが、もう1つは機能しません。 [プログラムの追加と削除]に移動し、Microsoft Accessデータベースエンジン2010をアンインストールしました。次に、MSI(64ビットではない)を使用して再インストールしました。 MSIへのリンクは次のとおりです。 https://www.Microsoft.com/en-us/download/details.aspx?id=13255
最後に、VSで、[プロジェクト]、[プロパティ]の順にクリックし、[32ビット優先]チェックボックスをオンにします。乾杯!