Announcement

Collapse
No announcement yet.

Probleme mit OPENROWSET

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

  • Probleme mit OPENROWSET

    Hallo zusammen,
    ich versuche gerade eine Prozedur für den Import von grösseren Excel-Dateien zu schreiben.

    Das schaut in etwa so aus und funktioniert nicht:
    [highlight=sql]
    declare @pfad nvarchar(120);
    declare @conn_string nvarchar(120);
    set @pfad = 'c:\spc-au1.xls';
    set @conn_string ='''Microsoft.Jet.OLEDB.4.0''' + ',' + '''EXCEL 8.0;Database=' +@pfad+ ''',' +'''SELECT * FROM [Tabelle1$]''';

    SELECT * FROM OPENROWSET(@conn_string);
    [/highlight]

    Der explizite Aufruf mit:
    [highlight=sql]
    SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','EXCEL 8.0;Database=c:\spc-au1.xls', 'SELECT * FROM [Tabelle1$]');
    [/highlight]
    funktioniert.
    Ich stehe gerade total auf dem Schlauch, er meint immer nur "Falscher Syntax in der Nähe von @conn_string".

  • #2
    Das geht so nicht, man könnte höchstens mit dynamischem SQL arbeiten, zB so:
    Code:
    declare @pfad nvarchar(120);
    declare @conn_string nvarchar(120);
    SET @pfad = 'c:\spc-au1.xls';
    SET @conn_string ='''Microsoft.Jet.OLEDB.4.0''' + ',' + '''EXCEL 8.0;Database='  +@pfad+ ''',' +'''SELECT * FROM [Tabelle1$]''';
    EXEC('SELECT * INTO EXCEL_TMP FROM OPENROWSET(' + @conn_string + ')');
    SELECT * FROM EXCEL_TMP
    DROP TABLE EXCEL_TMP
    Habe jetzt nicht geprüft, ob alle Hochkomma und Klammern passen, aber vom Prinzip her sollte der Weg erkennbar sein und wenn man alles richtig schreibt, muss es auch funktionieren - habe ein ähnliches Beispiel gerade ausprobiert.

    bye,
    Helmut

    Comment


    • #3
      Danke vielmals, hab bei mir noch 2 kleine Sachen angepasst, nun funktioniert es.

      Comment

      Working...
      X