Kann jemand die Magie von Opendatasource / Openrowset erklären?

8

Beim Abrufen von Informationen aus einer Excel-Datei (oder einer MS-Access-Datenbank) verwende ich normalerweise Folgendes:

SELECT *
 FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
 'Data Source=C:\test.xls;Extended Properties=''EXCEL 12.0;HDR=NO;IMEX=1'' ')...[Sheet1$]

Manchmal funktioniert es. Manchmal nicht.

Kennt jemand eine Anleitung zum Einrichten?

Ich kenne den temporären Ordner, ich weiß, wie man die richtigen Treiber herunterlädt, ich kenne die erweiterten Eigenschaften, ich weiß, dass die Datei nicht geöffnet ist. Manchmal bekomme ich trotzdem die -

Der OLE DB-Anbieter "Microsoft.ACE.OLEDB.12.0" für Verbindungsserver "(null)" hat die Meldung "Nicht angegebener Fehler" zurückgegeben.

Ich bin gestern auf dieses Problem gestoßen. Ich habe meine Maschine neu gestartet - hat nicht funktioniert. Dann startete meine Instanz erneut und P00f! Magisch hat es funktioniert.

Das ist also meine Frage: Wenn Sie den fantastischen "Nicht spezifizierten Fehler" erhalten, was müssen Sie überprüfen, um sicherzustellen, dass alle Sterne in einer Linie sind, damit dies funktioniert.

SqlSandwiches
quelle

Antworten:

2

Überprüfen Sie die Windows-Ereignisanzeige. Suchen Sie in den Anwendungsprotokollen, Sicherheitsprotokollen und Systemprotokollen. Wenn Sie alle offensichtlichen Dinge festgenagelt haben (und es klingt so, als hätten Sie es getan), dann könnte es alles sein. Der Ordner der Datei verfügt möglicherweise über Windows-Domänensicherheit, und Ihr Computer kann sich möglicherweise nicht beim Domänencontroller authentifizieren.

Brent Ozar
quelle