Announcement

Collapse
No announcement yet.

Exeltabelle in MS SQL Tabelle

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

  • Exeltabelle in MS SQL Tabelle

    Hallo,
    gibt es eine möglichkeit, Daten aus einer MS EXEL Tabelle in eine MS SQL Tabelle zu exportieren?
    Ich habe hier ne 2000 Zeilen EXEL Tabelle und nicht wirklich Lust alles per Hand
    zu übertragen .
    Ich benutze denn MS SQL Server 2005 (Express Edition) sowie das MS SQL Server Management Studio (ebenfalls Express)

    In der Hilfe steht:
    "Stellen Sie in SQL Server Management Studio eine Verbindung mit dem Datenbankmodul-Servertyp her. Erweitern Sie Datenbanken, klicken Sie mit der rechten Maustaste auf eine Datenbank, zeigen Sie auf Tasks, und klicken Sie dann auf Daten importieren oder Daten exportieren."

    Bis zu dem Punkt "...zeigen Sie auf Tasks..." komme ich, nur dumm das mir dann die Auswahl "Daten importieren oder Daten exportieren" fehlt. Irgendwie werde ich das Gefühl nicht los das es die in der Express Version nicht gibt...

    Wäre super wenn jemand einen guten Tipp für mich hat.

    Gruß Sascha
    Zuletzt editiert von Knight; 24.01.2008, 09:52.

  • #2
    Hallo,

    wenn die Daten auf dem Excel-Arbeitsblatt so in den Spalten und Zeilen angeordnet sind, dass ein "rechteckiger" Bereich entsteht, führt der folgende Weg am schnellsten zum Ziel:
    [highlight=SQL]
    USE tempdb
    GO

    SELECT
    *
    INTO
    NeueTabelle
    FROM OPENROWSET('MSDASQL',
    'Driver=Microsoft Excel-Treiber (*.xls);DBQ=C:\Temp\ImportDaten.xls',
    'SELECT * FROM [SheetName$]')
    GO
    [/highlight]
    Diese T-SQL-Anweisung kann mit jeder Edition des MS SQL Server 2005 ausgeführt werden, wenn in der SQL Server-Oberflächenkonfiguration für Features die OPENROWSET-Unterstützung über die Checkbox einmalig aktiviert wird.

    Sie SELECT * INTO-Anweisung legt die Zieltabelle automatisch an, so dass nach dem Import der Inhalt über SELECT * FROM dbo.NeueTabelle abgerufen werden kann.

    Comment


    • #3
      Hallo,
      das hat wunderbar funktioniert!
      Vielen Dank!

      Comment


      • #4
        Danke für die Tipp's hat super geholfen...

        Eine kleine Hürde musste ich allerdings noch nehmen, damit es geklappt hat: Die englische Schreibweise des Treibers: Microsoft Excel Driver

        Also:
        [highlight=SQL]
        DROP TABLE NeueTabelle
        SELECT *
        INTO NeueTabelle
        FROM OPENROWSET('MSDASQL','Driver=Microsoft Excel Driver (*.xls);
        DBQ=D:\Temp\Mappe1.xls',
        'SELECT * FROM [Tabelle1$]')
        [/highlight]

        Viele Grüße
        Florian

        Comment


        • #5
          OLE DB provider "MSDASQL" for linked server "(null)" returned message "[Microsoft][ODBC Excel Driver] Nicht genügend Arbeitsspeicher.".

          Msg 7303, Level 16, State 1, Line 1

          Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "(null)".

          Wiso funktioniert das bei mir nie! Kann mir jemand weiterhelfen ? Was mache ich nur falsch ?

          Comment

          Working...
          X