Kann nicht initialisiert Datenquellenobjekt des OLE DB-Anbieter “Microsoft.Ass.OLEDB.12.0" für den Verbindungsserver "(null)"
Wenn ich führen Sie die folgenden commmands in SQL Server 2012
exec sp_configure 'Advanced', 1 RECONFIGURE
exec sp_configure 'Ad Hoc Distributed Queries', 1 RECONFIGURE
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
SELECT * INTO dbo.Normalization FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=c:\_sandbox\Consolidations.xlsx','SELECT * FROM [Codes and Values$]')
Bekomme ich diesen Fehler
Nicht initialisiert Datenquellenobjekt des OLE DB-Anbieters
"Microsoft.Ass.OLEDB.12.0" für den Verbindungsserver "(null)".
Ahnung warum?
InformationsquelleAutor Sachin Kainth | 2013-06-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist der Anbieter installiert? Microsoft.Ass.OLEDB.12.0-provider ist es nicht standardmäßig so, wenn Sie noch nicht installiert hat der kann es nicht initialisiert werden.
Einen Blick in SQL management studio auf Server-Objekte -> Linked-Server -> Provider und sehen, ob es aufgeführt ist.
Wenn nicht, müssen Sie installieren Sie das Microsoft Access-Datenbankmodul (entweder x86 oder x64, je nach Ihrer SQL server-Installation) installiert der Anbieter für Sie.
Download der software hier:
Microsoft Access Database Engine 2010 Redistributable
Sie müssen laden Sie die richtige version von SQL server zu verwenden, die, wie ich herausgefunden habe vorher auf einem dev-Maschine beinhaltet die deinstallation der anderen office-Komponenten, wenn Sie nicht übereinstimmen
Ja du hast Recht, tks für Eure Hilfe.
Ich habe das gleiche problem, aber ich habe die Anbieter aufgelistet, die auf dem Pfad, den Sie sagte. Hier ist meine Abfrage
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'X:\path\filename.mdb',' password')
Wo habe ich bloß falsch gemacht? Vorher habe ich hierzu ausgeführtExec sp_configure 'show advanced options', 1; RECONFIGURE; GO Exec sp_configure 'Ad Hoc Distributed Queries', 1; RECONFIGURE; GO EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1; GO EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1; GO
Aus der Spitze von meinem Kopf ich kann mich nicht erinnern, die genaue syntax, aber ich erinnere mich, dass, wenn die Auswahl von Daten aus einer access-DB, geben Sie die Abfrage in der die Parameter gesendet, um die openrowset-Funktion, etwa so SELECT * FROM OPENROWSET('Microsoft.Ass.OLEDB.12.0',';Data Source=X:\Pfad\Dateiname.mdb;','SELECT * from Tabelle') sonst openrowset können keine Daten zurückgegeben.
InformationsquelleAutor steoleary
War ich immer die gleichen Fehler mit access-Datenbank. Ich war mit dieser syntax:
Dann komme ich zu wissen, dass 'DataSource' sollte 'Datenquelle'.
Es funktioniert in meinem Fall.
InformationsquelleAutor M_Idrees