Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Importation CSV dans SQL Server 2008

Vous pouvez utiliser un fichier au format non XML pour spécifier un délimiteur différent par colonne. Pour les valeurs entourées de guillemets doubles et délimitées par des tabulations, le délimiteur peut être \",\" . Vous devrez ajouter une colonne initiale inutilisée pour capturer la première citation. Par exemple, pour lire ce fichier :

"row1col1","row1col2","row1col3"
"row2col1","row2col2","row2col3"
"row3col1","row3col2","row3col3"

Vous pouvez utiliser ce fichier de format :

10.0
4
1  SQLCHAR 0 50 "\""     0 unused ""
2  SQLCHAR 0 50 "\",\""  1 col1   ""
3  SQLCHAR 0 50 "\",\""  2 col2   ""
4  SQLCHAR 0 50 "\"\r\n" 3 col3   ""

(Le nombre sur la première ligne dépend de la version de SQL Server. Le nombre sur la deuxième ligne est le nombre de colonnes à lire. N'oubliez pas de l'ajuster .)

L'bulk insert la commande accepte un formatfile = 'format_file_path' paramètre où vous pouvez spécifier le fichier de format. Par exemple :

BULK INSERT YourTable
FROM 'c:\test\test.csv'
WITH (FORMATFILE = 'c:\test\test.cfmt')

Cela se traduit par :

select * from YourTable
-->
col1        col2        col3
row1col1    row1col2    row1col3
row2col1    row2col2    row2col3
row3col1    row3col2    row3col3