'Microsoft.ACE.OLEDB.16.0'プロバイダーがローカルマシンに登録されていません。(System.Data)


103

MSSQLサーバーデータインポート、つまりSSISパッケージを介してExcelに接続しようとすると、このエラーが発生します。Microsoft.ACE.OLEDB.16.0プロバイダーがローカルマシンに登録されていません。(System.Data

同じバージョンではないので、他のパッチが必要だと思います


5
この質問が重複としてクローズされるように投票された理由がわかりません...エラーメッセージで明らかに新しいバージョンであり、新しいコンポーネントセットが必要です!この質問と回答は私のMicrosoft.ACE.OLEDB.16.0問題を解決するのに役立ちました。クローズリクエストで指摘されている質問はMicrosoft.ACE.OLEDB.12.0、そのバージョンに対するものであり、回答がそれに対応しています。この質問は元に戻す必要があります。
Arvo Bowen

@ArvoBowen問題ありません。再開しました。しかし、どちらの質問にも同じ解決策があります。
ハディ

3
どうして?それらは異なるダウンロードを必要とする異なるバージョンです。これらは関連していますが、解決策は異なります。他の質問の答えに従っても問題は解決しません。
Arvo Bowen

回答:


116

注:SQL 2016 Developer 64ビット、Office 2016 64ビットを実行しています。

私は同じ問題を抱えており、以下をダウンロードすることで解決しました:

  1. これをダウンロードしてインストールします:https : //www.microsoft.com/en-us/download/details.aspx?id=54920

  2. アクセス/インポートしようとしているファイルが何であれ、必ずOffice 2010ファイルとして選択してください(Office 2016ファイルである可能性があります)。

できます。

ソース


4
ありがとう、完璧に機能しました。私のOffice 2016ファイルをOffice 2007-2010としてロードしましたが、うまくいきました。CSV / TSVを試すよりもはるかに優れています。
tc_NYC 2017

2
Office 2016を選択するべきではないことを言及していただきありがとうございます。他のいずれかを試してみたかどうかはわかりません。
バーダス

最初のリンクが壊れている
jcvegan

1
Microsoft Access Database Engine 2016 Redistributableの現在のURLへのリンクを更新しました
e_i_pi

WS 2016 64ビットでは、32ビットバージョンを使用して動作させる必要がありました...
Lambda

98

上記を試してもこの問題が解決しない場合は、データベースを右クリックしてタスク->インポートに移動すると、問題が発生します。スタートメニューに移動し、SQLサーバーで、x64ビットのインポートエクスポートウィザードを見つけて、それを試してください。私にとっては魅力のように動作しましたが、Microsoftを見つけるのにFARが長すぎました。


3
:DTSWizardの64ビット版からExcelが利用できるようにするには、2016のAccessデータベースエンジンの再配布可能なインストールmicrosoft.com/en-us/download/details.aspx?id=54920 出典:sqlblog.com/blogs/john_paul_cook/archive/を2017/06/11 /… これを自分でテストし、動作しました。SSDTは32ビットアプリケーションであるため、そこからインポート/エクスポートウィザードを起動すると、32ビットバージョンのウィザードが起動することに注意してください。これはまださえのVisual Studio 2017とSQL Server 2017の場合などである
otravers

1
回答ありがとうございます。Office(2016)64ビットとSQL 64ビット、および対応するコネクタMicrosoft.ACE.OLEDB.16.0を持っています。しかし、「Microsoft.ACE.OLEDB.16.0」プロバイダーがローカルマシンに登録されていません」というメッセージが表示されました。これは単に意味がありませんでした。インポートウィザード64ビットを直接開いた後、Excelファイルをインポートするのに何の問題もありませんでした。私の印象では、デフォルトではタスク->インポートパスは32ビットウィザードに移動し、64ビットアイテムに干渉します。ポールに感謝します。
コーヒー

@ otravers、2016 Access Database Engine再配布可能ファイルをダウンロードしてインストールしましたが、役に立ちませんでした。それは私に当たりました、それはAccessではなくExcelです。
ロッド

2
@Rod、名前にもかかわらず、これはExcelとDTSWizardでこの特定の問題を解決することを保証します。
オバートラ、

1
インポート/エクスポートウィザードのx64バージョンがありません
PeterX

18

簡単な回避策として、ワークブックをExcel 97-2003 .xlsファイルとして保存しました。エラーなくそのフォーマットでインポートすることができました。


私のために働いていませんでした。「外部データベースドライバー(1)からの予期しないエラー(Microsoft JETデータベースエンジン)」
Rod

2
数回の試行が必要でしたが、結局、これが私の問題に対する最も迅速な解決策であることがわかりました。
ClubbieTim 2018年

1
これは、インポートする行が64K未満の場合にのみ機能します。
Cougar9000

スプレッドシートの行数が65,536を超えないように注意してください。そうしないと、この変換を行うとデータが失われる可能性があります。
フィアッチリード

9

私にとってうまくいく代替手段は、単にCSVに変換することです。


2
素晴らしい問題、素晴らしい解決策に感謝します@PeterX
ElMatador '16

1
@PeterX Saved my Day bro
Mohammad

1
魅力のように働いた!私はcsvをアップロードしているときにms excel 2016の代わりにフラットファイルを選択する必要がありました。
kiradotee

6

OS(64bit)とSSMS(64bit)を使用していて、AccessDatabaseEngine(64bit)をすでにインストールしていてもエラーが発生する場合は、次の解決策を試してください。

1:SQLサーバーのインポートおよびエクスポートウィザードを直接開く。

SQLサーバーの直接インポートおよびエクスポートウィザードを使用して接続でき、SSMSからのインポートが問題である場合、SSMSからデータをインポートする場合に32ビットをアクティブ化するようなものです。

AccessDatabaseEngine(64bit)をインストールする代わりに、AccessDatabaseEngine(32bit)を使用してみてください。インストール時に、別のアプリがすでにインストールされている場合、Windowsはインストールを続行することを停止します。その場合、次の手順を使用します。これはMICROSOFTによるものです。静かなインストール。

Office 365が既にインストールされている場合は、サイドバイサイドの検出により、インストールを続行できません。代わりに、これらのコンポーネントの/ quietインストールをコマンドラインから実行します。これを行うには、目的のAccessDatabaseEngine.exeまたはAccessDatabaeEngine_x64.exeをPCにダウンロードし、管理コマンドプロンプトを開き、インストールパスを指定して、Ex:C:\ Files \ AccessDatabaseEngine.exe / quietに切り替えます。

または、以下リンクから追加情報コンテンツをチェックしてください、

https://www.microsoft.com/en-us/download/details.aspx?id=54920


1
わあ、これはイライラしたものでした。SSMS 18.5インストーラーは64ビットですが、アプリケーション自体は32ビットです。同じエラーで64ビットAccessDatabaseEngineオフィスコンポーネントをインストールし続けました。タスクマネージャーを見ると、SSMSが32ビットであることがわかりました。次に、64ビットのOffice 2016がインストールされているため、C:\ Files \ AccessDatabaseEngine.exe / quietという方法を使用しました。これはうまくいった!32ビットデータベースエンジンを64ビットオフィスと一緒に正常にインストールしました。
rjkunde


1

Access-Redist(32/64ビット)の新しいXLSX -Driver を使用する必要があります。現在のXLS-Driverは、最後の累積的な更新以降に破損しています。


0

次の手順を実行します:

  1. [ここ] [1]に移動し、ダウンロードMicrosoft Access Database Engine 2016 Redistributableしてインストールします
  2. SQL Server Management Studioを閉じる
  3. スタートメニューに移動-> Microsoft SQL Server 2017-> SQL Server 2017 Import and Export Data(64-bit)
  4. アプリケーションを開き、「Excel 2016」オプションを使用してデータをインポートしてみてください。問題なく動作するはずです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.