Chaque ligne de votre fichier se termine par une nouvelle ligne (\ n) mais les lignes réelles que vous souhaitez obtenir se terminent par des guillemets et une nouvelle ligne. Set ROWTERMINATOR dans la commande BULK INSERT pour:
ROWTERMINATOR = '"\n'
ÉDITÉ: Je pense que le plus gros problème sera avec des virgules dans le texte. SQL Server n'utilise pas de pièces jointes de texte. Ainsi, la ligne sera divisée par des virgules sans vérifier si la virgule est entre guillemets ou non.
Vous pouvez le faire comme ceci:
BULK INSERT newTable
FROM 'c:\file.txt'
WITH
(
FIELDTERMINATOR ='",',
ROWTERMINATOR = '"\n'
)
Cela vous donnera le résultat suivant:
col1 | col2 | col3
----------------------------------------------------------------
"blah | "blah, blah, blah ect, ect | "column 3
"foo | "foo, bar, baz more stuff on another line | "another column 3
Tout ce que vous avez à faire est de se débarrasser des guillemets au début de chaque cellule.
Par exemple:
UPDATE newTable
SET col1 = RIGHT(col1,LEN(col1)-1),
col2 = RIGHT(col2,LEN(col2)-1),
col3 = RIGHT(col3,LEN(col3)-1)
Je pense que vous pouvez aussi le faire en utilisant bcp utility avec format file
essayer avec certains fckeditor – anishMarokey