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…
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 :
bulk insert tampon_Table1 from E:\Fichier.txt with ( datafiletype='widenative',fieldterminator='|', rowterminator='\n',firstrow=1)
Voici mon message d’erreur :
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 :
@ 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
Partager