Jump to content
Melde dich an, um diesen Inhalt zu abonnieren  
orlando1965

SQL - OPENROWSET mit Microsoft.ACE.OLEDB.12.0 nur als Admin möglich

Empfohlene Beiträge

Hallo zusammen.

Ich arbeite mit Windows 7, auf dem ein MSSQL Server 2008 R2 Express läuft. Ich möchte nun Abfragen auf Office-Dokumente laufen lassen. Zum Beispiel in der Form:

 

SET @anz = (SELECT COUNT(B.ISTTAG) FROM (

SELECT A.INVENTURSTICHTAG AS ISTTAG FROM OPENDATASOURCE ('Microsoft.ACE.OLEDB.12.0',

'Data Source=C:\Users\Ronald\Documents\Visual Studio 2008\Projects\DocAlfredo\ausgabe\Inventurmappe.xlsx;Extended Properties=Excel 12.0 Xml')...[inventurbestand$] AS A

GROUP BY A.INVENTURSTICHTAG) AS B)

 

 

Das funktioniert auch, so lange ich mich als Windows-Administrator am SQL-Server anmelde. Wenn ich mich allerdings als normaler Windows-Benutzer anmelde und die Abfrage starte erhalte ich die Meldung

 

Der OLE DB-Anbieter 'Microsoft.ACE.OLEDB.12.0' für den Verbindungsserver '(null)' hat die Meldung 'Unbekannter Fehler' zurückgeben.

Meldung 7303, Ebene 16, Status 1, Zeile 1

Das Datenquellenobjekt des OLE DB-Anbieters 'Microsoft.ACE.OLEDB.12.0' für den Verbindungsserver '(null)' kann nicht initialisiert werden.

 

Die Meldung erhalte ich auch, wenn der windows-Benutzer alle Berechtigungen im SQL-Server hat.

 

Ich gehe davon aus, dass irgendwo im Dateisystem eine Berechtigung fehlt, weis aber nicht so ganz, wo ich da anfangen sollte. Bzw. ich habe schon alle Freigaben erteilt

 

Vieleicht kann mir ja hier jemand weiterhelfen.

 

Danke schon einmal im Voraus.

 

Gruß

Orlando

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

SET @anz = (SELECT COUNT(B.ISTTAG) FROM (

SELECT A.INVENTURSTICHTAG AS ISTTAG FROM OPENDATASOURCE ('Microsoft.ACE.OLEDB.12.0',

'Data Source=C:\Users\Ronald\Documents\Visual Studio 2008\Projects\DocAlfredo\ausgabe\Inventurmappe.xlsx;Extended Properties=Excel 12.0 Xml')...[inventurbestand$] AS A

GROUP BY A.INVENTURSTICHTAG) AS B)

 

 

Das funktioniert auch, so lange ich mich als Windows-Administrator am SQL-Server anmelde. Wenn ich mich allerdings als normaler Windows-Benutzer anmelde und die Abfrage starte erhalte ich die Meldung

 

Der OLE DB-Anbieter 'Microsoft.ACE.OLEDB.12.0' für den Verbindungsserver '(null)' hat die Meldung 'Unbekannter Fehler' zurückgeben.

Meldung 7303, Ebene 16, Status 1, Zeile 1

Das Datenquellenobjekt des OLE DB-Anbieters 'Microsoft.ACE.OLEDB.12.0' für den Verbindungsserver '(null)' kann nicht initialisiert werden.

 

Hat der am SQL Server angemeldete Benutzer auch genügend NTFS-Berechtigungen um in das Verzeichnis C:\Users\Ronald\Documents\ zugreifen zu dürfen?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

:), ich habs geschafft.

Es lag entweder an einer nicht eingeräumten Ordnerzugriffsberechtigung oder an einer (längst vergessenen) persistenten VBA-SQL-Connection in ACCESS 2010, die auf den SQL-Serverzugriff. Nachdem ich die Ordnerzugriffsberechtigungen nochmals für jeden zugänglich gemacht hatte und die VBA-Anwendung entfernt hatte, konnte ich den OPENDATASOURCE-Befehl auch als Anwender - und nicht nur als Administrator - anwenden.

Danke für den Tipp mit NTFS.

Gruß

Orlando

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
Melde dich an, um diesen Inhalt zu abonnieren  

×