Announcement

Collapse
No announcement yet.

Probleme mit OPENROWSET und OleDB

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Probleme mit OPENROWSET und OleDB

    Hallo,

    ich möchte mittels T-SQL auf die Daten einer Excel-Tabelle Zugreifen hierzu will ich die Anweisung
    Code:
    SELECT * FROM OPENROWSET(
    'Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0;Database=D:\Test.xlsx', 
    'SELECT * FROM [Tabelle1$]');
    nutzen, allerdings erhalte ich dann auf dem lokalen Server die Fehlermeldung:
    Code:
    Meldung 7399, Ebene 16, Status 1, Zeile 1
    Der OLE DB-Anbieter "Microsoft.ACE.OLEDB.12.0" für den Verbindungsserver "(null)" hat einen Fehler gemeldet. Zugriff verweigert.
    Meldung 7350, Ebene 16, Status 2, Zeile 1
    Die Spalteninformationen können nicht vom OLE DB-Anbieter "Microsoft.ACE.OLEDB.12.0" für den Verbindungsserver "(null)" abgerufen werden.
    und auf Testserver die Fehlermeldung:
    Code:
    Meldung 7399, Ebene 16, Status 1, Zeile 1
    Der OLE DB-Anbieter "Microsoft.ACE.OLEDB.12.0" für den Verbindungsserver "(null)" hat einen Fehler gemeldet. Der Anbieter hat einen unerwarteten schwerwiegenden Fehler gemeldet.
    Meldung 7330, Ebene 16, Status 2, Zeile 1
    Eine Zeile kann nicht vom OLE DB-Anbieter "Microsoft.ACE.OLEDB.12.0" für den Verbindungsserver "(null)" abgerufen werden.
    in beiden Fällen handelt es sich um MS SQL 2005.

    Jemand eine Idee, wo das Problem liegt?

  • #2
    Idee nicht, aber vielleicht hift das oder das hier weiter. Kannst es ja sonst auch mal mit dem Jet-Treiber probieren.

    bye,
    Helmut

    Comment


    • #3
      Vielen Dank. Soweit auch so gut, allerdings plagt mich jetzt beim Einlesen einer csv-Datei mittels

      Code:
      select *
      FROM	OPENROWSET(
      		'MSDASQL', 
      		'Driver={Microsoft Text Driver (*.txt; *.csv)}; DefaultDir=D:\;',
      		'SELECT * FROM [test.csv]')
      Die Fehlermedlung:
      Code:
      Der OLE DB-Anbieter "MSDASQL" für den Verbindungsserver "(null)" hat die Meldung "[Microsoft][ODBC Text Driver] Nicht genügend Arbeitsspeicher." zurückgeben.
      Meldung 7303, Ebene 16, Status 1, Zeile 1
      Das Datenquellenobjekt des OLE DB-Anbieters "MSDASQL" für den Verbindungsserver "(null)" kann nicht initialisiert werden.
      Hat da noch jemand eine Idee?

      Eine Alternative wäre Microsoft.ACE.OLEDB.12.0 das Treiber zu verwenden. Allerdings habe ich da das Problem, dass bei der csv-Datei "," als Trennzeichen und nicht wie in meinem Fall nötig ";" als Trennzeichen verwendet wird.

      Comment

      Working...
      X