Bonjour,

Voici mon cas :


j'ai une base de données SQL Server sur un serveur A, et je veux importer le contenu des tables de cette base dans des tables vides d'une autre BDD sur un autre serveur B.

J’ai donc exporté mes données à l’aide de BCP à l’aide de l’option –N. J’ai choisi cette option (elle n’est peut-être pas idéale…) car mes tables peuvent contenir des champs ntext avec des caractères du types « é », « à » etc…

Code : Sélectionner tout - Visualiser dans une fenêtre à part
BCP BASE_A.dbo.TABLE1 out E:\Fichier.txt -t '|' -r \n -SserveurA -Ulogin -Pmdp -N -e E:\erreur_Fichier.txt
Mon problème se pose à l’import dans l’autre BDD du second serveur. J’utilise BULK INSERT comme suit :

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
bulk insert tampon_Table1 from  E:\Fichier.txt  with ( datafiletype='widenative',fieldterminator='|', rowterminator='\n',firstrow=1)

Voici mon message d’erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
« Serveur : Msg 4866, Niveau 17, État 66, Ligne 1
Échec de l'insertion en bloc. Colonne trop longue dans le fichier de données pour la ligne 1, colonne 1. Assurez-vous que la fin de champ et la fin de ligne sont correctement spécifiées. »
Pour info, le 1er champs de ma table est de format nvarchar(32)
Voici le contenu de la première ligne de mon fichier .txt :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
@ 0 1 4 8 7 b d e 8 1 5 a 4 e 0 8 b f 6 0 e 1 d 7 0 3 6 d 6 d 0 e |  |  |  |  |  |  |  |
Je ne comprends pas ce qui pose problème dans la lecture du fichier…

Pour info, je ne suis pas très à l’aise avec le choix des options suivantes:
Pour le BCP : -c ou –w ou –N Ainsi que –C code_page
Pour le BULK INSERT : codepage ACP ou OEM ou RAW ainsi que DATAFILETYPE char, Natif, widechar, widenative
Si vous avez des explications sachant que je suis débutante !

Merci d’avance pour votre aide ! je ne cache pas que je suis sur un projet court en délai