2008-12-03 14 views

Antwort

6

Sie können den Befehl BULK INSERT T-SQL verwenden, wenn Sie nur eine reine SQL-Lösung wünschen. Sie müssen die Datei zuerst als csv/text speichern.

BULK 
INSERT YourDestinationTable 
     FROM 'D:\YourFile.csv' 
      WITH 
    (
       FIELDTERMINATOR = ',', 
       ROWTERMINATOR = '\n' 
    ) 
GO 

Alternativ können Sie OPENROWEST ausprobieren - wiederum eine reine T-SQL-Lösung.

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;DATABASE=D:\YourExcelFile.xls', 'Select * from YourExcelFile') 

Es hängt wirklich davon ab, wie viel Kontrolle und Flexibilität, die Sie wollen, wird die SSIS Route Vorteile gegenüber diesen Verfahren haben.

2

über den Code Glancing, würde ich erwarten, dass es der vollständige Pfadname des Excel-Dokument sein:

Zum Beispiel: c: \ Pfad \ My \ Excel \ document.xls \

Ich habe das Verfahren nicht installiert oder ausgeführt, also könnte ich mich irren - aber das scheint es auf den ersten Blick zu sein.

1

Ich würde vorschlagen, ein SSIS/DTS-Paket zu verwenden, um zu konvertieren. Es ist viel einfacher.

SSIS Excel example

** beachten Sie, dass dieses Beispiel den Assistenten verwendet. Sie können das SSIS/DTS-Paket als auszuführenden Job in Ihrer SQL-Box planen.

0

This example kopiert Daten von SQL nach Excel. Aber es ist nur eine Frage des Tauschens der OleDb-Anbieter, um es in die entgegengesetzte Richtung zu arbeiten.

Verwandte Themen