Microsoft SQL Server
Importazione BULK
Ricerca…
INSERIMENTO BULK con opzioni
È possibile personalizzare le regole di analisi utilizzando diverse opzioni nella clausola WITH:
BULK INSERT People
FROM 'f:\orders\people.csv'
WITH ( CODEPAGE = '65001',
FIELDTERMINATOR =',',
ROWTERMINATOR ='\n'
);
In questo esempio, CODEPAGE specifica che un file di origine nel file UTF-8 e TERMINATORS sono in coma e una nuova riga.
INSERIMENTO BULK
Il comando BULK INSERT può essere utilizzato per importare file in SQL Server:
BULK INSERT People
FROM 'f:\orders\people.csv'
Il comando BULK INSERT eseguirà il mapping delle colonne nei file con colonne nella tabella di destinazione.
Leggere l'intero contenuto del file usando OPENROWSET (BULK)
È possibile leggere il contenuto del file utilizzando la funzione OPENROWSET (BULK) e memorizzare il contenuto in alcune tabelle:
INSERT INTO myTable(content)
SELECT BulkColumn
FROM OPENROWSET(BULK N'C:\Text1.txt', SINGLE_BLOB) AS Document;
L'opzione SINGLE_BLOB leggerà l'intero contenuto da un file come singola cella.
Leggi il file usando OPENROWSET (BULK) e formatta il file
Yu può definire il formato del file che verrà importato usando l'opzione FORMATFILE:
INSERT INTO mytable
SELECT a.*
FROM OPENROWSET(BULK 'c:\test\values.txt',
FORMATFILE = 'c:\test\values.fmt') AS a;
Il file di formato, format_file.fmt, descrive le colonne 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
Leggi il file json usando OPENROWSET (BULK)
È possibile utilizzare OPENROWSET per leggere il contenuto del file e passarlo ad altre funzioni che analizzeranno i risultati.
L'esempio seguente mostra hot per leggere l'intero contenuto del file JSON utilizzando OPENROWSET (BULK) e quindi fornisce BulkColumn alla funzione OPENJSON che analizzerà JSON e restituirà le colonne:
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