このエラーの解決策が見つかりません:
32ビットOLE DBプロバイダー "Microsoft.ACE.OLEDB.12.0"は、64ビットSQL Serverのインプロセスでロードできません。
ウェブ上にたくさんの投稿を見つけましたが、どれも機能しません。
SQL Server 2014 64ビットおよびOffice 2013を使用しています
エラーを生成するコード:
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0 Xml;HDR=YES;Database=C:\SSIS\Table_nm.xlsx',
'SELECT * FROM [Table_nm$]');
結局のところ、ここから64ビットのドライバーを入手できます。
https://www.Microsoft.com/en-us/download/details.aspx?id=13255
ダウンロードした後、ダブルクリックしてインストールするのではなく、コマンドプロンプトを使用してインストールします。これは次のようになります。
"C:\Users\rshuell001\Downloads\AccessDatabaseEngine_x64.exe" /passive
'/passive
'は、32ビットバージョンが(32ビットOffice経由で)インストールされている場合にインストールが失敗するのを防ぐため、ここで重要です。