Поиск…


BULK INSERT с опциями

Вы можете настроить правила синтаксического анализа, используя различные параметры в предложении WITH:

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

В этом примере CODEPAGE указывает, что исходный файл в файле UTF-8 и TERMINATORS являются комой и новой строкой.

BULK INSERT

Команда BULK INSERT может использоваться для импорта файла в SQL Server:

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

Команда BULK INSERT будет отображать столбцы в файлах со столбцами в целевой таблице.

Чтение всего содержимого файла с помощью OPENROWSET (BULK)

Вы можете прочитать содержимое файла с помощью функции OPENROWSET (BULK) и сохранить содержимое в некоторой таблице:

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

Параметр SINGLE_BLOB будет считывать весь контент из файла в виде отдельной ячейки.

Чтение файла с использованием OPENROWSET (BULK) и файла формата

Yu может определить формат файла, который будет импортирован с помощью опции FORMATFILE:

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

Файл формата format_file.fmt описывает столбцы в 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 с использованием OPENROWSET (BULK)

Вы можете использовать OPENROWSET для чтения содержимого файла и передать его другой функции, которая будет анализировать результаты.

В следующем примере показано горячее чтение всего содержимого файла JSON с помощью OPENROWSET (BULK), а затем предоставление функции BulkColumn функции OPENJSON, которая будет анализировать JSON и возвращать столбцы:

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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow