###前提・実現したいこと
開発環境
OS:windows10(64bit)
言語:VisualStudio2015 vb.net
DB:OfficePro2016(32bit: ClickToRun) のAccess
Microsoft Access データベース エンジン 2016 再頒布可能パッケージ:AccessDatabaseEngine.exe (32bit用)をインストール済
客先の要望で、実行ファイルが64bit版になるように指定があります。
VB.Net コンパイルで「対象のCPU:x64」にしています。
OfficePro2016は客先の要望で32bit版でインストールしています。
64bit実行ファイルから32bitのAccessに接続したいのです。
###発生している問題・エラーメッセージ
Accessに接続しようとすると
エラーメッセージ
「Microsoft.ACE.OLEDB.12.0プロバイダーはローカルコンピュータに登録されていません 」
がでて接続ができません。
64bit実行ファイルから32bitのAccessに接続するには、AccessDatabaseEngine.exe (32bit用)ではできないのでしょうか?
###該当のソースコード
VB.net 2015
ソースコード
Dim conn As New System.Data.OleDb.OleDbConnection
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "DataSource=D:\data\aaaaa.accdb"
Try
conn.Open()
MessageBox.Show("接続しました。")
Catch ex As Exception
MessageBox.Show("エラー:" + ex.Message )
End Try
###試したこと
(1)
OfficePro2016を64bit版でインストールして、Microsoft Access データベース エンジン 2016 再頒布可能パッケージ:AccessDatabaseEngine_X64.exe(64bit用)をインストール。
実行したら接続できました。
(2)
前提の環境で
VB.Net コンパイルで「対象のCPU:x86」にして、リビルド、実行した所接続できました。
(3)
Microsoft Access 2016 Runtime:accessruntime_4288-1001_x86_ja-jp.exe をインストールしようとしましたが、「C2Rにはインストールできない」というようなエラーメッセージがでました。
(4)
Microsoft Access 2016 Runtime:accessruntime_4288-1001_x64_ja-jp.exe をインストールしようとしましたが、「32bitがインストールされているので64bitはインストールできない」というようなエラーメッセージがでました。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/18 00:18
退会済みユーザー
2017/12/18 00:50