Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Outils
Outils Forum d'entraide sur les outils gravitant autour de MS-SQL Server, tels que bcp, TDS, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/03/2011, 16h36   #1
HoB
Membre à l'essai
 
Homme Franck Flayelle
Consultant CRM
Inscription : mai 2004
Messages : 58
Détails du profil
Informations personnelles :
Nom : Homme Franck Flayelle
Âge : 30
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant CRM
Secteur : Conseil

Informations forums :
Inscription : mai 2004
Messages : 58
Points : 23
Points : 23
Par défaut Erreur lors du chargement de données : Unexpected EOF encountered in BCP data-file

Bonjour,

je voudrais effectuer un import de données dans une table en utilisant BCP, malheureusement c'est la première fois que je l'utilise et je ne suis pas sûr de le faire correctement.

j'ai créé une table de transfert dans laquelle je souhaite importer mes données avec la requête suivante :
Code :
1
2
3
4
5
6
7
8
9
 
CREATE TABLE dbo.TbInterfaceOppty
(
ID int NOT NULL IDENTITY PRIMARY KEY,
Name nvarchar(600) NOT NULL,
AccntDunsNumber nvarchar(200),
ExptSignatureDt nvarchar(200),
STATUS nvarchar(200)
);
j'ai ensuite généré un fichier de format avec la commande :
Code :
bcp Enterprise_MSCRM.dbo.TbInterfaceOppty format nul -n -f "C:\Test\ImportFormat2.txt" -T -t ;
ce qui m'a donné le fichier :
Code :
1
2
3
4
5
6
7
8
 
10.0
5
1       SQLINT              0       4       ";"    1     ID                                 ""
2       SQLNCHAR            2       1200    ";"    2     Name                               Latin1_General_CI_AI
3       SQLNCHAR            2       400     ";"    3     AccntDunsNumber                    Latin1_General_CI_AI
4       SQLNCHAR            2       400     ";"    4     ExptSignatureDt                    Latin1_General_CI_AI
5       SQLNCHAR            2       400     "" 5     STATUS                             Latin1_General_CI_AI
Mon fichier de donnée est :
Code :
1
2
3
4
 
ID;Name;Duns;ExpectedDT;STATUS
1;Oppty2;22222222222222222222222222222;23/03/2011;Status2
2;Oppty3;33333333333333333333333333333;24/03/2011;Status3
et je lance l'import avec la commande suivante :
Code :
1
2
 
bcp Enterprise_MSCRM.dbo.TbInterfaceOppty IN "C:\test\ImportOppty01.txt" -m 1 -f "C:\test\ImportFormat2.txt" -e "C:\test\ImportError.err" -F 2 -o "C:\Test\ImportLog.log" -T -k -t ;
le résultat : aucune ligne n'est chargée
et le fichier de log généré n'est pas très parlant :
Code :
1
2
3
4
5
6
 
Starting copy...
SQLState = S1000, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]Unexpected EOF encountered IN BCP data-file
 
BCP copy IN failed
j'ai vu sous google que cette erreur etait assez générique et pouvait avoir de multiple cause, mais aucun des conseils que j'ai trouvé (surtout au sujet des fin de lignes et de l'encodage du fichier...) ne m'a permis d'avancer

Quelqu'un aurait une idée svp ?
HoB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 22h36   #2
Membre Expert
 
Homme Etienne ZINZINDOHOUE
Ingénieur développement
Inscription : mars 2010
Messages : 1 138
Détails du profil
Informations personnelles :
Nom : Homme Etienne ZINZINDOHOUE
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur développement
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2010
Messages : 1 138
Points : 2 466
Points : 2 466
Envoyer un message via Yahoo à zinzineti
il me semble que ton fichier fmt n'est pas bien formaté, il manque notamment le caractère de fin du fichier "\r\n"
Essaye avec ceci

Code :
1
2
3
4
5
6
7
8
 
10.0
5
1       SQLINT            0       4       ";"		1     ID		""
2       SQLNCHAR          0       1200    ";"		2     Name		Latin1_General_CI_AI
3       SQLNCHAR          0       400     ";"		3     AccntDunsNumber	Latin1_General_CI_AI
4       SQLNCHAR          0       400     ";"		4     ExptSignatureDt	Latin1_General_CI_AI
5       SQLNCHAR          0       400     "\r\n"	5     STATUS		Latin1_General_CI_AI
__________________
Etienne ZINZINDOHOUE
Billets-Articles
zinzineti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 16h37   #3
HoB
Membre à l'essai
 
Homme Franck Flayelle
Consultant CRM
Inscription : mai 2004
Messages : 58
Détails du profil
Informations personnelles :
Nom : Homme Franck Flayelle
Âge : 30
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant CRM
Secteur : Conseil

Informations forums :
Inscription : mai 2004
Messages : 58
Points : 23
Points : 23
Bonjour,

Merci pour ta réponse, mais en fait j'ai testé et j'ai toujours le même résultat
HoB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 19h17   #4
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 459
Points : 10 459
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Je ne pense pas qu'on puisse insérer dans une colonne typée IDENTITY, cela dit avec BCP en particulier c'est peut-être différent.

Essayez quand même en recréant votre table sans cet attribut.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2011, 11h56   #5
HoB
Membre à l'essai
 
Homme Franck Flayelle
Consultant CRM
Inscription : mai 2004
Messages : 58
Détails du profil
Informations personnelles :
Nom : Homme Franck Flayelle
Âge : 30
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant CRM
Secteur : Conseil

Informations forums :
Inscription : mai 2004
Messages : 58
Points : 23
Points : 23
Merci, je vais tester sans.
Mais le soucis c'est que, si pour l'instant je peux passer par une table de test, au final je devrais charger des enregistrements dans des tables de mon appli CRM, pour lesquelles j'ai des champs de type Identity qui sont obligatoires (ces colonnes sont créées par l'application, je ne peux pas y couper).
et lorsque j'essaie de charger ces tables sans renseigner ces colonnes identity, je me fais bien evidement jeter.

N'y aurait il pas un moyen de remplir ces colonnes ? d'ailleurs, s'il y avait une commande pour renseigner ces colonnes avec des valeurs unique automatiquement, ce serait l'idéal...
au depart, je pensais utiliser des sequences comme sous oracle, mais vu qu'il n'accepte même pas de me mettre un simple entier, je ne vois pas commment faire
HoB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2011, 16h45   #6
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 723
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 723
Points : 6 844
Points : 6 844
... et en utilisant l'option -E ?

++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 20h07   #7
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
et lorsque j'essaie de charger ces tables sans renseigner ces colonnes identity, je me fais bien evidement jeter
Pouvez vous apporter des précisions? qu'entendez vous par jeté?(message d'erreur?)
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2011, 15h21   #8
HoB
Membre à l'essai
 
Homme Franck Flayelle
Consultant CRM
Inscription : mai 2004
Messages : 58
Détails du profil
Informations personnelles :
Nom : Homme Franck Flayelle
Âge : 30
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant CRM
Secteur : Conseil

Informations forums :
Inscription : mai 2004
Messages : 58
Points : 23
Points : 23
Bonjour,

j'ai testé les différentes solutions que vous m'avez proposé :

Option -E : ca ne change rien, j'ai toujours le même resultat, a savoir le message Unexpected EOF encountered IN BCP data-file BCP

Lorsque je recrée la même table sans la colonne Identity : je n'ai plus de message d'erreur mais rien n'est copié dans la table, et dans le fichier de log, j'ai juste :
Code :
1
2
3
4
5
6
 
Starting copy...
 
0 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total     : 1
et rien dans le fichier d'erreur, donc je ne sais pas pourquoi il n'a rien chargé

d'ailleurs, est-ce que l'on peut augmenter le niveau de log pour les chargements BCP ? parce que la la log n'aide pas du tout...

@iberserk : en fait, avec BCP, j'ai justre le même message que d'habitude.
par contre j'avais tenté un chargement par SSIS et j'avais eu un message me disant que cette colonne etait required et que je devait lui fournir une valeur, mais comme ce sont mes premiers pas dans le chargement des tables SQL Server, je n'ai pas du faire ca correctement.
c'est pour ca que j'ai tenté avec BCP, en me basant sur les explications fournies ici
HoB est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h32.


 
 
 
 
Partenaires

Hébergement Web