Suche…


BULK INSERT mit Optionen

Sie können die Parsing-Regeln mit verschiedenen Optionen in WITH-Klausel anpassen:

BULK INSERT People
FROM 'f:\orders\people.csv'  
WITH  (  CODEPAGE = '65001',  
         FIELDTERMINATOR =',',  
         ROWTERMINATOR ='\n'  
      ); 

In diesem Beispiel gibt CODEPAGE an, dass eine Quelldatei in der UTF-8-Datei und TERMINATORS eine Koma und eine neue Zeile sind.

BULK INSERT

Der Befehl BULK INSERT kann zum Importieren von Dateien in SQL Server verwendet werden:

BULK INSERT People
FROM 'f:\orders\people.csv'  

Der Befehl BULK INSERT ordnet Spalten in Dateien mit Spalten in der Zieltabelle zu.

Lesen des gesamten Dateiinhalts mit OPENROWSET (BULK)

Sie können den Inhalt einer Datei mit der Funktion OPENROWSET (BULK) lesen und den Inhalt in einer Tabelle speichern:

INSERT INTO myTable(content)   
   SELECT BulkColumn
          FROM OPENROWSET(BULK N'C:\Text1.txt', SINGLE_BLOB) AS Document; 

Die Option SINGLE_BLOB liest den gesamten Inhalt aus einer Datei als einzelne Zelle.

Datei mit OPENROWSET (BULK) lesen und Datei formatieren

Sie können das Format der Datei definieren, die mit der Option FORMATFILE importiert wird:

INSERT INTO mytable
SELECT a.* 
FROM OPENROWSET(BULK 'c:\test\values.txt',   
   FORMATFILE = 'c:\test\values.fmt') AS a;  

Die Formatdatei format_file.fmt beschreibt die Spalten in values.txt:

9.0  
2  
1  SQLCHAR  0  10 "\t"        1  ID                SQL_Latin1_General_Cp437_BIN  
2  SQLCHAR  0  40 "\r\n"      2  Description       SQL_Latin1_General_Cp437_BIN  

Json-Datei mit OPENROWSET lesen (BULK)

Sie können OPENROWSET verwenden, um den Inhalt einer Datei zu lesen und an eine andere Funktion zu übergeben, die die Ergebnisse analysiert.

Das folgende Beispiel zeigt, wie der gesamte Inhalt der JSON-Datei mithilfe von OPENROWSET (BULK) gelesen werden kann. Anschließend können Sie der OPENJSON-Funktion BulkColumn zur Verfügung stellen, die JSON analysiert und Spalten zurückgibt:

SELECT book.*
 FROM OPENROWSET (BULK 'C:\JSON\Books\books.json', SINGLE_CLOB) as j
 CROSS APPLY OPENJSON(BulkColumn)
       WITH( id nvarchar(100), name nvarchar(100), price float,
             pages int, author nvarchar(100)) AS book


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow