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


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow