Microsoft SQL Server
BULK Import
Recherche…
INSERT EN VRAC avec options
Vous pouvez personnaliser les règles d'analyse à l'aide de différentes options dans la clause WITH:
BULK INSERT People
FROM 'f:\orders\people.csv'
WITH ( CODEPAGE = '65001',
FIELDTERMINATOR =',',
ROWTERMINATOR ='\n'
);
Dans cet exemple, CODEPAGE spécifie qu'un fichier source dans le fichier UTF-8 et les TERMINATORS sont coma et nouvelle ligne.
INSERT EN VRAC
La commande BULK INSERT peut être utilisée pour importer un fichier dans SQL Server:
BULK INSERT People
FROM 'f:\orders\people.csv'
La commande BULK INSERT mappe les colonnes dans les fichiers avec des colonnes dans la table cible.
Lecture du contenu entier du fichier en utilisant OPENROWSET (BULK)
Vous pouvez lire le contenu du fichier en utilisant la fonction OPENROWSET (BULK) et stocker le contenu dans une table:
INSERT INTO myTable(content)
SELECT BulkColumn
FROM OPENROWSET(BULK N'C:\Text1.txt', SINGLE_BLOB) AS Document;
L'option SINGLE_BLOB lit le contenu entier d'un fichier en tant que cellule unique.
Lire le fichier en utilisant OPENROWSET (BULK) et formater le fichier
Yu peut définir le format du fichier qui sera importé à l'aide de l'option FORMATFILE:
INSERT INTO mytable
SELECT a.*
FROM OPENROWSET(BULK 'c:\test\values.txt',
FORMATFILE = 'c:\test\values.fmt') AS a;
Le fichier de format, format_file.fmt, décrit les colonnes de 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
Lire le fichier json avec OPENROWSET (BULK)
Vous pouvez utiliser OPENROWSET pour lire le contenu du fichier et le transmettre à une autre fonction qui analysera les résultats.
L'exemple suivant montre comment lire tout le contenu du fichier JSON à l'aide d'OPENROWSET (BULK), puis fournir la fonction BulkColumn à OPENJSON pour analyser les colonnes JSON et retourner:
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