[MS SQL SERVEUR] IMPORT/EXPORT DE DONNEES AVEC BCP
cs_fabrice69
Messages postés1765Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention11 décembre 2013
-
4 sept. 2005 à 03:37
Utilisateur anonyme -
4 juin 2010 à 15:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Pour t'aider :
C:\Users\Administrateur>bcp
utilisation : bcp {dbtable | query} {in | out | queryout | format} fichier_données
[-m erreurs maximum] [-f format fichier] [-e fichier erreur]
[-F première ligne] [-L dernière ligne] [-b taille lot]
[-n type natif] [-c type caractère] [-w type caractère large]
[-N conserver caractère nontexte natif] [-V version de format de fichier] [-q identificateur entre guillemets]
[-C spécificateur page de codes] [-t indicateur fin champ] [-r indicateur fin ligne]
[-i fichier entrée] [-o fichier sortie] [-a taille paquet]
[-S nom serveur] [-U nom utilisateur] [-P mot passe]
[-T connexion approuvée] [-v version] [-R régional activé]
[-k conserver valeurs nulles] [-E conserver valeurs identité]
[-h charger les indicateurs] [-x créer le fichier au format xml]
Notons au passage :
1- quasiement les mêmes arguements que les commandes osql , isql , sqlcmd
2- Indiquer une table c'est bien faut-il encore savoir où elle se trouve : il faut donc lui indiquer le serveur et instance au besoin ...
WanaDien
Messages postés7Date d'inscriptionlundi 13 janvier 2003StatutMembreDernière intervention28 mai 2007 30 oct. 2009 à 17:13
Bonjour,
Cela ne fonctionne pas de mon côté, j'ai une erreur ..
Test_Bulk : Nom de ma base de données
TBulk : Table de cette base
J'ai fait : Démarrer/Executer/cmd
Dans la fenêtre j'ai mis :
bcp Test_Bulk..TBulk out c:\test.txt -c -T
J'ai cette erreur
C:\>bcp Test_Bulk..TBulk out c:\test.txt -c -TSQLState 08001, NativeError 2
Error = [Microsoft][SQL Server Native Client 10.0]Named Pipes Provider: Could no
t open a connection to SQL Server [2].SQLState 08001, NativeError 2
Error = [Microsoft][SQL Server Native Client 10.0]A network-related or instance-
specific error has occurred while establishing a connection to SQL Server. Serve
r is not found or not accessible. Check if instance name is correct and if SQL S
erver is configured to allow remote connections. For more information see SQL Se
rver Books Online.SQLState S1T00, NativeError 0
Error = [Microsoft][SQL Server Native Client 10.0]Login timeout expired
Peux-tu m'aider ?
dymsbess
Messages postés56Date d'inscriptionmercredi 29 septembre 2004StatutMembreDernière intervention 4 janvier 20101 3 juin 2009 à 20:38
redh0815
Messages postés1Date d'inscriptiondimanche 30 décembre 2007StatutMembreDernière intervention20 juin 2008 20 juin 2008 à 21:34
merci bcp sava bien m'aider
cs_jimmy69
Messages postés778Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention27 novembre 20081 13 juil. 2007 à 11:04
salut salut,
Merci pour l'info c'est sympa !
Bonne fin de semaine
Christophe
cs_TheMatrixHasYou
Messages postés1Date d'inscriptionjeudi 21 avril 2005StatutMembreDernière intervention12 juillet 2007 12 juil. 2007 à 22:32
Encore un peu trop tard ... C'est juste pour préciser que lors de l'importation de données vers SQL Server en utilisant la commande BCP, le seul défaut est qu'il faut que la table destination existe déjà, et que les types de données des colonnes soient un tant soit peu cohérents avec le contenu du fichier... Après, comme le dit echecetmat, si on importe vers une table utilisant des clés primaires et/ou clés externes, c'est sur que SQL Server va pas aimé et la commande BCP échouera simplement :) Cette commande est surtout utilisée pour importer un fichier volumineux vers une table temporaire, pour ensuite être traité en interne via une procédure stockée.
cs_pat84
Messages postés29Date d'inscriptionmardi 27 avril 2004StatutMembreDernière intervention16 mai 2009 2 mai 2007 à 15:44
Un post "un peu" en retard mais bon...
J'ai une importation de 80.000 enregistrements à réaliser dans vers base SQL Server, en provenance d'un fichier Excel/TXT, je ne sais pas encore.
Il est évident que cette solution présente quelques avantages !
Merci pour ce rappel de la commande BCP.
Patrice.
cs_echecetmat
Messages postés1Date d'inscriptionvendredi 5 mars 2004StatutMembreDernière intervention26 septembre 2005 26 sept. 2005 à 10:46
Solution intéressante, mais il faut tout de meme savoir que si on veut faire une sauvegarde/restauration de tables qui posséde des champs autoincrémentés sur lesquelles il y a des relations (clefs étrangéres) il y a de gros risques d'erreurs. ;)
cs_jimmy69
Messages postés778Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention27 novembre 20081 4 sept. 2005 à 18:13
Salut _Fab ;-),
Merci pour ton comment ,j'ai hesite a poster cela dans la rubrique tutorial ...mais je pense qu'il est tres bien ici!
Bonne semaine..
Christophe
cs_fabrice69
Messages postés1765Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention11 décembre 20135 4 sept. 2005 à 03:37
4 juin 2010 à 15:39
C:\Users\Administrateur>bcp
utilisation : bcp {dbtable | query} {in | out | queryout | format} fichier_données
[-m erreurs maximum] [-f format fichier] [-e fichier erreur]
[-F première ligne] [-L dernière ligne] [-b taille lot]
[-n type natif] [-c type caractère] [-w type caractère large]
[-N conserver caractère nontexte natif] [-V version de format de fichier] [-q identificateur entre guillemets]
[-C spécificateur page de codes] [-t indicateur fin champ] [-r indicateur fin ligne]
[-i fichier entrée] [-o fichier sortie] [-a taille paquet]
[-S nom serveur] [-U nom utilisateur] [-P mot passe]
[-T connexion approuvée] [-v version] [-R régional activé]
[-k conserver valeurs nulles] [-E conserver valeurs identité]
[-h charger les indicateurs] [-x créer le fichier au format xml]
Notons au passage :
1- quasiement les mêmes arguements que les commandes osql , isql , sqlcmd
2- Indiquer une table c'est bien faut-il encore savoir où elle se trouve : il faut donc lui indiquer le serveur et instance au besoin ...
30 oct. 2009 à 17:13
Cela ne fonctionne pas de mon côté, j'ai une erreur ..
Test_Bulk : Nom de ma base de données
TBulk : Table de cette base
J'ai fait : Démarrer/Executer/cmd
Dans la fenêtre j'ai mis :
bcp Test_Bulk..TBulk out c:\test.txt -c -T
J'ai cette erreur
C:\>bcp Test_Bulk..TBulk out c:\test.txt -c -TSQLState 08001, NativeError 2
Error = [Microsoft][SQL Server Native Client 10.0]Named Pipes Provider: Could no
t open a connection to SQL Server [2].SQLState 08001, NativeError 2
Error = [Microsoft][SQL Server Native Client 10.0]A network-related or instance-
specific error has occurred while establishing a connection to SQL Server. Serve
r is not found or not accessible. Check if instance name is correct and if SQL S
erver is configured to allow remote connections. For more information see SQL Se
rver Books Online.SQLState S1T00, NativeError 0
Error = [Microsoft][SQL Server Native Client 10.0]Login timeout expired
Peux-tu m'aider ?
3 juin 2009 à 20:38
http://www.xoowiki.com/Article/Batch/bcp-16.aspx
20 juin 2008 à 21:34
13 juil. 2007 à 11:04
Merci pour l'info c'est sympa !
Bonne fin de semaine
Christophe
12 juil. 2007 à 22:32
2 mai 2007 à 15:44
J'ai une importation de 80.000 enregistrements à réaliser dans vers base SQL Server, en provenance d'un fichier Excel/TXT, je ne sais pas encore.
Il est évident que cette solution présente quelques avantages !
Merci pour ce rappel de la commande BCP.
Patrice.
26 sept. 2005 à 10:46
4 sept. 2005 à 18:13
Merci pour ton comment ,j'ai hesite a poster cela dans la rubrique tutorial ...mais je pense qu'il est tres bien ici!
Bonne semaine..
Christophe
4 sept. 2005 à 03:37
Romelard Fabrice