Klaus: SQL-Zurgiff auf Excel-Sheet auf Fileserver

Hallo zusammen,

ich greife von einem MS-SQL Server aus auf ein lokales Excel-Sheet zu.

Dies geschieht so:
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0; HDR=YES; IMEX=1; Database=C:\excel.xlsx', 'SELECT * FROM [tabelle1$]')

Soweit so gut. Jetzt möchte ich aber auf ein Excel-Sheet zugreifen, welches auf einem anderen Server liegt. Meine Frage ist nur, wie?!

Der Versuch auf ein per Net Use gemapptes Laufwerk zuzugreifen, endete in folgender Fehlermeldung:
Msg 7399, Level 16, State 1, Line 1 The OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" reported an error. The provider did not give any information about the error. Msg 7303, Level 16, State 1, Line 1 Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".

Jemand einen weiterführenden Hinweis?
Vielen Dank vorab! :-)

Grüße
Klaus

  1. Hai,

    evt. kennt der "Server" (mit dem SQL Server drauf) nicht das verbundene Netzlaufwerk, welches du als User da mittels NET USE angelegt hast. Oder das Dienst/Benutzerkonto des SQL Server drauf hat keine Netzwerkberechtigungen, z.b. der Server laeuft auf dem Konto "Local System"? Ab SQL 2008 (R2 auf jeden Fall) kannst du sogenannte Credential Proxies einrichten fuer Betriebssystemzugriffe oder Netzwerkzugriff vom Server aus.

    Den Connection String fuer's Excel solltest du mittels UNC Pfaden schreiben koennen, also zb:

    'Microsoft.ACE.OLEDB.12.0', 'Excel 12.0; HDR=YES; IMEX=1; Database=\someotherserver\someshare\someexcel.xlsx'

    Gruss, FF