Sök…


BULK INSERT med alternativ

Du kan anpassa analysregler med olika alternativ i MED-klausulen:

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

I det här exemplet specificerar CODEPAGE att en källfil i UTF-8-fil och TERMINATORS är koma och ny rad.

BULK INSERT

BULK INSERT-kommando kan användas för att importera fil till SQL Server:

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

Kommandot BULK INSERT kommer att kartlägga kolumner i filer med kolumner i måltabellen.

Läser hela innehållet i filen med OPENROWSET (BULK)

Du kan läsa filens innehåll med OPENROWSET (BULK) -funktion och lagra innehåll i någon tabell:

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

Alternativet SINGLE_BLOB läser hela innehållet från en fil som en enda cell.

Läs fil med OPENROWSET (BULK) och formatfil

Yu kan definiera formatet för filen som importeras med alternativet FORMATFIL:

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

Formatfilen, format_fil.fmt, beskriver kolumnerna i värden.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  

Läs json-fil med OPENROWSET (BULK)

Du kan använda OPENROWSET för att läsa innehåll i filen och skicka den till någon annan funktion som kommer att analysera resultat.

Följande exempel visar varmt att läsa hela innehållet i JSON-filen med OPENROWSET (BULK) och sedan ge BulkColumn till OPENJSON-funktionen som kommer att analysera JSON och returnera kolumner:

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow