Der Microsoft.ACE.OLEDB.12.0-Provider fehlt
Vor kurzem bin ich über ein kleines, lästiges Problem mit dem SQL Server 2012 gestolpert. Beim simplen Import einer Excel-Tabelle in einen SQL Server 2012 konnte die Aktion nicht durchgeführt werden. Stattdessen folgt eine Fehlermeldung “Microsoft.ACE.OLEDB.12.0-Provider fehlt” des SQL Server-Import/Export-Assistenten.
Doch schön der Reihe nach: Das Ziel ist das Importieren von Daten in eine bestehende SQL-Datenbank, die in einer Tabelle in einer Excel 2007-Datei vorliegen.
Tipp: Natürlich kann die SQL-Tabelle “on the fly”-durch den Assistenten automatisch erstellt werden, jedoch - nachdem der Importvorgang mit vielen Feldern manchmal etwas heikel ist - ist (meine) “best practice” die SQL-Zieltabelle VOR dem Import anzulegen, dann gibt's weniger Fehler beim Lauf des Import-Assistenten.
Die eigentliche Vorgangsweise zum Importieren von Daten in den SQL Server funktioniert im SQL Management Studio: Hier wird im Kontextmenü einer Datenbank Tasks/Daten importieren gewählt.
Nun wird die Quelldatei – als Datenquelle Microsoft Excel - wie in folgendem Screenshot ausgewählt.
Beim Ausführen mit Weiter folgt diese Fehlermeldung:
Der 'Microsoft.ACE.OLEDB.12.0'-Provider ist nicht auf dem lokalen Computer registriert. (System.Data)
Der Import kann nicht weiter ausgeführt werden. Ursache ist das verwendete System, bei mir Windows 8.1 x64 mit installiertem Office 2013 x32. Trotz vorhandenem Office 2013 fehlt anscheinend die erforderliche Bibliothek.
Nach etwas Suchen fand ich eine funktionierende Lösung: Der fehlende Provider kann durch die Installation der “2007 Office System Driver Data Connectivity Components” auf dem lokalen Rechner hinzugefügt werden. Die Tools (auch wenn schon etwas älter) können aus dem Microsoft Download Center bezogen werden.
2007 Office System Driver: Data Connectivity Components
Nach dem Download werden die Komponenten installiert:
Sofort nach der Fertigstellung klappt es nun mit dem SQL-Wizard, er setzt fort.
Die Excel-Daten können nun wie gewohnt in eine SQL-Tabelle importiert werden.
Ein etwas seltsamer Workaround – aber es funktioniert. Dies ist wahrscheinlich nicht die einzige Lösung, aber wenn jemand in dieses Problem läuft ist dieser Weg eine rasche, praktikable Lösung.
Comments
- Anonymous
March 22, 2014
Danke. Hier das ganze in deutsch. Ich weiß nicht, ob es einen Unterschied macht.
http://www.microsoft.com/de-de/download/confirmation.aspx?id=23734 - Anonymous
April 04, 2014
Vielen Dank, hat geholfen. - Anonymous
October 12, 2014
DANKE - das war die Lösung !!!! - Anonymous
December 15, 2014
Vielen lieben dank für diesen Beitrag.
Ich lerne gerade per Visual C# auf Acces-Datenbank zuzugreifen und hatte das selbe Problem, konnte es mit deinem tollen Lösungsweg beheben. - Anonymous
March 03, 2015
Funktioniert nach der Installation einwandfrei. Danke für den Hinweis. :) - Anonymous
March 09, 2015
Vielen Dank für die Anleitung, hat bestens funktioniert! - Anonymous
June 11, 2015
Danke!
Das war kurz, knackig und sehr hilfreich. - Anonymous
July 03, 2015
Klasse, hat bei mir auch funktioniert unter Win 8.1 x64, Office 365 x64 und SQL 2014 x64. Danke! - Anonymous
January 14, 2016
This helps, thanks! - Anonymous
January 30, 2016
Funktioniert auch bei Problemen mit der Access Datenbank. - Anonymous
January 30, 2016
Funktioniert auch bei Problemen mit der Access Datenbank.