SQL Server インポートおよびエクスポート ウィザード - Excel などの OLEDB プロバイダエラーの解決方法
SQL Server Management Studio でデータベースを選択して [タスク] > [データのインポート] などのメニューを選択すると SQL Server インポートおよびエクスポート ウィザード が起動します。
ここでは、SQL Server インポートおよびエクスポート ウィザードで、データソースなどに Excel や Access ファイル等を指定した時に、次のような OLEDB プロバイダエラーが出た際の解決方法のひとつをご紹介します。
'Microsoft.ACE.OLEDB.12.0' プロバイダはローカルのコンピュータに登録されていません。 (System.Data)
The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. (System.Data)
OLEDB プロバイダエラーの原因と解決方法について
この状況で「'Microsoft.ACE.OLEDB.12.0' プロバイダはローカルのコンピュータに登録されていません。」エラーが起こる原因は、マシンに 32 bit バージョンの OLEDB プロバイダがインストールされていない為です。
SQL Server Management Studio (SSMS) が 32 bit のアプリケーションなので、SSMS から SQL Server インポートおよびエクスポート ウィザードを起動すると 32 bit バージョンのウィザードが起動されるからです。
32 bit の OLEDB プロバイダが登録されていなくても、64 bit のプロバイダはインストールされている場合は 64-bit の SQL Server インポートおよびエクスポート ウィザードを使用することが解決できます。
64 bit 版の SQL Server インポートおよびエクスポート ウィザードの起動方法
64 bit 版の SQL Server インポートおよびエクスポート ウィザードの起動する方法は何通りかあります。
簡単な方法は、SQL Server がインストールされている Windows のスタートメニューから Microsoft SQL Server を探し、[SQL Server * データのインポートおよびエクスポート (64 ビット)] を選択します。
または、SQL Server がインストールされている Windows の検索機能で 「Import Data(データのインポート)」などで検索すると出てきます。
起動されるファイルは C:\Program Files\Microsoft SQL Server\[バージョンごとの番号]\DTS\Binn にある DTSWizard.exe ファイルで、このファイルを直接起動しても大丈夫です。
[バージョンごとの番号] は COMPATIBILITY_LEVEL と同じで、2017 は 140、2019 は 150 です。
上記の方法で、64 bit 版の SQL Server インポートおよびエクスポート ウィザードを起動して実行すると、64 bit 版の該当の OLEDB プロバイダがインストールされている場合はエラーが出なくなるはずです。
以上、SQL Server インポートおよびエクスポート ウィザード の Excel などの OLEDB プロバイダエラーの解決方法のひとつをご紹介しました。