質問者
クイック実行形式のOfficeをインストールするとODBC/OLEDBが利用できないが改善されない

質問
-
Officeサポートチームのブログ 「クイック実行形式のOfficeをインストールするとODBC/OLEDBが利用できない」
の回避方法に沿って、Microsoft Access 2013 Runtimeをインストールしましたが、改善されません。OS:Windows10
Office:Office2016 クイック実行形式であることは確認しました。
利用箇所:SQLManegementStudio2017 でExcelファイルをインポートしようとすると
「Microsoft.ACE.OLEDB.16.0 プロバイダーはローカルのコンピューターに登録されていません」のメッセージが表示される。
すべての返信
-
> 「Microsoft.ACE.OLEDB.16.0 プロバイダーはローカルのコンピューターに登録されていません」のメッセージが表示される。
「Office2016 クイック実行形式」というのは何だか全く分かりませんが、そのエラーメッセージからすると、32/64-bit の不整合の問題ではないかと思います。
2010 以降用の ACE ドライバには 32/64-bit 版の両方があるります(2007 用は 32-bit のみ)。
そして、例えば 64-bit で動くアプリで 32-bit 版の ACE を使うとか、逆に、32-bit で動くアプリで 64-bit 版の ACE を使うと、そのようなエラーメッセージが出ます。
質問者さんの環境で出た問題の原因が絶対それだとは言い切れませんが、まずはそのあたりを調べてみてはいかがですか。
【追記】
下の画像は、32-bit 版の ACE を使って、Any CPU でコンパイルしたアプリを 64-bit OS で動かした場合、アプリは 64-bit で動きますが ACE は 32-bit 版なので接続を Open するところで質問者さんのケースと同様なエラーが出るという例です。x86 でコンパイルすればもちろん問題なく動きます。
- 編集済み SurferOnWww 2019年1月6日 5:31 追記
-
たぶんに想像が入ってますのでハズレかもしれませんが・・・
SQL Server Management Studio で作業しているということはそれが私が上で言うアプリに該当すると思うのですが、であれば、タスクマネージャーのプラットフォーム列で 32-bit か 64-bit かを調べて、例えばそれが 32-bit なら、
32-bit の ODBC データソースアドミニストレーターのドライバーに ACEODBC.DLL があるか否かを調べてみてはいかがですか?
なお、ACE の 32-bit 版と 64-bit 版は同一 PC 内に同居できないそうです(裏技的なことをしない限りですが)。- 編集済み SurferOnWww 2019年1月6日 7:21 訂正