Hello,

Je désire insérer des données à l'aide de la commande "Bulk insert" dans une table à partir d'un fichier texte (TableClient.txt).Ce fichier se trouve à l'emplacement : D:\DataBaseTest\TableClient.txt

Sous SQL Server j'ai une table Client dans une base "BaseTest" :

Client(num, nom char(30), prenom char(50), commentaire varchar(max))

Dans mon fichier texte TableClient.txe, j'ai les lignes suivantes:

1,Dupont,Pierre,Client particulier, voir doc\n
2,Dupond,Paul,Nouveau client\

La virgule "," est le séparateur de champs de chaque ligne.
\n est le séparateur de lignes.

Comme on peut le voir, je veux utiliser "," dans mon champ commentaire.

Mais lorsque j'exécute le code suivant dans SQL Server:

bulk insert BaseTest.dbo.Client from 'D:\DataBaseTest\TableClient.txt'
with (
fieldseparator=",",
rowseparator="\n"
)

L'exécution ne se fait et je le message suivant qui apparaît:

Type mismatch... pour la première ligne du fichier texte

C'est parce que j'utilise la "," dans mon champ commentaire. Et comme j'ai défini la virgule comme séparateur de champ, pour la commande "bulk insert" il s'agit de la fin d'un champ. Donc j'ai un nombre de colonne différent que celui dans la table Client.

Comment je peux faire si je veux utiliser la virgule dans le champ "commentaire" tout en gardant la virgule comme le séparateur de champ comme séparateur de champ????

Merci