Der Anbieter 'Microsoft.ACE.OLEDB.16.0' ist nicht auf dem lokalen Computer registriert. (Systemdaten)


103

Ich erhalte diesen Fehler, wenn ich versuche, über MSSQL Server Data Import, dh SSIS-Paket, eine Verbindung zu einem Excel herzustellen. Der Microsoft.ACE.OLEDB.16.0Anbieter ist nicht auf dem lokalen Computer registriert. ( System.Data)

Es ist nicht dieselbe Version, von der ich denke, dass ein anderes Patching erforderlich ist


5
Ich verstehe nicht, warum diese Frage als Duplikat geschlossen wurde ... Es handelt sich eindeutig um eine neuere Version in der Fehlermeldung und benötigt einen neueren Satz von Komponenten! Diese Frage und Antworten halfen mir bei meinen Microsoft.ACE.OLEDB.16.0Problemen. Die Frage, auf die die enge Anfrage Microsoft.ACE.OLEDB.12.0hinweist, ist für und die Antworten richten sich an DIESE Version. Diese Frage sollte wieder geöffnet werden.
Arvo Bowen

@ArvoBowen Kein Problem. Ich habe es wieder geöffnet. Beide Fragen haben jedoch die gleiche Lösung.
Hadi

3
Wie? Es handelt sich um verschiedene Versionen, die unterschiedliche Downloads erfordern. Sie sind verwandt, haben aber unterschiedliche Lösungen. Wenn ich der Antwort der anderen Frage folgen würde, würde dies mein Problem nicht lösen.
Arvo Bowen

Antworten:


116

Hinweis: Ich verwende SQL 2016 Developer 64bit, Office 2016 64bit.

Ich hatte das gleiche Problem und löste es, indem ich Folgendes herunterlud:

  1. Laden Sie Folgendes herunter und installieren Sie es: https://www.microsoft.com/en-us/download/details.aspx?id=54920

  2. Unabhängig davon, auf welche Datei Sie zugreifen / sie importieren möchten, stellen Sie sicher, dass Sie sie als Office 2010-Datei auswählen (auch wenn es sich möglicherweise um eine Office 2016-Datei handelt).

Es klappt.

Quelle


4
Hat perfekt für mich funktioniert, danke! Habe meine Office 2016-Datei als Office 2007-2010 geladen und es hat gut funktioniert. So viel besser als CSV / TSV auszuprobieren.
tc_NYC

2
Vielen Dank, dass Sie erwähnt haben, dass ich Office 2016 nicht wählen sollte. Ich bin mir nicht sicher, ob ich eines der anderen ausprobiert hätte.
Birdus

Die erste Verbindung ist unterbrochen
jcvegan

1
Ich habe gerade den Link zur aktuellen URL für Microsoft Access Database Engine 2016 Redistributable
e_i_pi

Auf einem WS 2016 64Bit musste ich die 32Bit-Version verwenden, um es zum Laufen zu bringen ...
Lambda

97

Für alle, die nach dem oben genannten Versuch immer noch an diesem Problem festhalten. Wenn Sie mit der rechten Maustaste auf die Datenbank klicken und zu Aufgaben-> Importieren gehen, ist hier das Problem. Gehen Sie zu Ihrem Startmenü und suchen Sie unter SQL Server den Assistenten zum Exportieren von x64-Bit und versuchen Sie es. Hat wie ein Zauber für mich funktioniert, aber ich habe viel zu lange gebraucht, um es zu finden, Microsoft!


3
Installieren Sie die weiterverteilbare Access Database Engine 2016, um Excel in der 64-Bit-Version von DTSWizard verfügbar zu machen: microsoft.com/en-us/download/details.aspx?id=54920 Quelle: sqlblog.com/blogs/john_paul_cook/archive/ 2017/06/11 /… Ich habe das selbst getestet und das funktioniert. Beachten Sie, dass SSDT eine 32-Bit-Anwendung ist. Wenn Sie also den Import- / Export-Assistenten von dort aus starten, wird die 32-Bit-Version des Assistenten gestartet. Dies ist auch ab Visual Studio 2017 und SQL Server 2017 immer noch der Fall.
Überquert den

1
Vielen Dank für Ihre Antwort, sehr nützlich. Ich habe Office (2016) 64-Bit und SQL 64-Bit UND den entsprechenden Connector Microsoft.ACE.OLEDB.16.0. Ich erhielt jedoch die Meldung "Der Microsoft.ACE.OLEDB.16.0-Anbieter ist nicht auf dem lokalen Computer registriert." Das ergab einfach keinen Sinn. Nachdem ich den 64-Bit-Importassistenten direkt geöffnet hatte, hatte ich keine Probleme beim Importieren von Excel-Dateien. Mein Eindruck ist, dass der Pfad für Aufgaben-> Import standardmäßig zum 32-Bit-Assistenten führt und die 64-Bit-Elemente durcheinander gebracht werden, nicht sicher. Danke Paul.
Kaffee

@otravers, ich habe die verteilbare Access Database Engine 2016 heruntergeladen und installiert, aber es hat nicht geholfen. Dann traf es mich, das ist für Access, nicht für Excel.
Rod

2
@ Rod, trotz des Namens versichere ich Ihnen, dass dies dieses spezielle Problem mit Excel und DTSWizard löst.
Otravers

1
Ich habe keine x64-Version des Import / Export-Assistenten
PeterX

18

Als schnelle Problemumgehung habe ich die Arbeitsmappe gerade als Excel 97-2003 .xls-Datei gespeichert. Ich konnte mit diesem Format ohne Fehler importieren.


Hat bei mir nicht funktioniert. Erhielt einen "Unerwarteten Fehler vom externen Datenbanktreiber (1). (Microsoft JET Database Engine)"
Rod

2
Es dauerte ein paar Versuche, aber am Ende fand ich dies die schnellste Lösung für mein Problem.
ClubbieTim

1
Dies funktioniert nur, wenn Sie weniger als 64 KB Zeilen importieren müssen.
Cougar9000

Achten Sie darauf, dass Ihre Tabelle nicht mehr als 65.536 Zeilen enthält, da Sie sonst bei dieser Konvertierung Daten verlieren können.
Fiach Reid

9

Eine Alternative, die für mich funktioniert, ist die einfache Konvertierung in eine CSV.


2
Für große Probleme, gute Lösungen, danke @PeterX
ElMatador

1
@ PeterX rettete meinen Tag Bruder
Mohammad Heydari

1
Lief wie am Schnürchen! Ich musste nur Flatfile anstelle von MS Excel 2016 auswählen, als ich die CSV hochlud.
Kiradotee

6

Wenn Sie OS (64bit) und SSMS (64bit) und installieren Sie bereits die AccessDatabaseEngine (64bit) und Sie immer noch eine Fehlermeldung erhalten, versuchen Sie diese folgenden Lösungen:

1: Direktes Öffnen des SQL Server-Import- und Export-Assistenten.

Wenn Sie eine Verbindung mit dem direkten SQL Server-Import- und Exportassistenten herstellen können, ist der Import aus SSMS das Problem. Es ist wie die Aktivierung von 32 Bit, wenn Sie Daten aus SSMS importieren.

Versuchen Sie, anstatt AccessDatabaseEngine (64 Bit) zu installieren, AccessDatabaseEngine (32 Bit) zu verwenden. Nach der Installation werden Sie von Windows angehalten , um die Installation fortzusetzen, wenn Sie bereits eine andere App installiert haben. Wenn ja, führen Sie die folgenden Schritte aus. Dies ist aus dem MICROSOFT . Die leise Installation.

Wenn Office 365 bereits installiert ist, verhindert die Erkennung nebeneinander, dass die Installation fortgesetzt wird. Führen Sie stattdessen eine / leise Installation dieser Komponenten über die Befehlszeile durch. Laden Sie dazu die gewünschte AccessDatabaseEngine.exe oder AccessDatabaeEngine_x64.exe auf Ihren PC herunter, öffnen Sie eine administrative Eingabeaufforderung, geben Sie den Installationspfad ein und wechseln Sie Beispiel: C: \ Files \ AccessDatabaseEngine.exe / quiet

oder überprüfen Sie in der Zusatzinfo Inhalte aus dem Link unten ,

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


1
Wow, das war frustrierend. Es stellt sich heraus, dass das SSMS 18.5-Installationsprogramm 64 Bit ist, die Anwendung selbst jedoch 32 Bit. Ich habe die 64-Bit-Office-Komponenten von AccessDatabaseEngine mit demselben Fehler weiter installiert. Ich habe mir den Task-Manager angesehen und festgestellt, dass SSMS 32-Bit ist. Dann habe ich Ihre Methode verwendet: C: \ Files \ AccessDatabaseEngine.exe / quiet, da ich 64-Bit-Office 2016 installiert habe. Das hat funktioniert !! Das 32-Bit-Datenbankmodul wurde neben 64-Bit-Office erfolgreich installiert.
rjkunde


1

Sie müssen jetzt den neuen XLSX- Treiber von Access-Redist (32/64-Bit) verwenden. Der aktuelle XLS-Treiber ist seit dem letzten kumulativen Update beschädigt.


0

Folge diesen Schritten:

  1. Gehen Sie [hier] [1], laden Sie es herunter Microsoft Access Database Engine 2016 Redistributableund installieren Sie es
  2. Schließen Sie SQL Server Management Studio
  3. Gehen Sie zu Startmenü -> Microsoft SQL Server 2017 -> SQL Server 2017 Importieren und Exportieren von Daten (64-Bit)
  4. Öffnen Sie die Anwendung und versuchen Sie, Daten mit der Option "Excel 2016" zu importieren. Dies sollte einwandfrei funktionieren.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.