Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

[MS SQL SERVEUR] IMPORT/EXPORT DE DONNEES AVEC BCP


Information sur la source

Catégorie :Trucs & Astuces Classé sous : import, export, données, bcp, mssql Niveau : Débutant Date de création : 03/09/2005 Vu / téléchargé: 16 897 / 781

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

Description

[Ms sql serveur] Import/Export de donnees avec bcp
---------------------------------------------------

Il existe plusieurs possibilités d'exporter/importer des données
provenant d'une db.

Je ne vais pas toutes les enumerer, mais par contre je vais vous présenter un p'tit utilitaire nommé BCP qui s'utilise
en ligne de commande (DOS) et que j'ai découvert il y'a peu.

Vous verrez dans les exemples ci dessous que son utilisation est simple et qu'il peut etre TRES utile.


BCP :
------

BCP permet donc de copier les donnees d'un fichier de donnees dans sql serveur et inversement.

Pour avoir la syntaxe et les parametres obligatoire ou non, il suffit de taper à l'invite de commande dos

bcp pour voir s'afficher la liste des parametres optionnels.




La table :
----------

Pour les exemples, vous trouverez dans le .zip, un fichier nommé create.sql qui contient la structure de la table utilisateurs.
Cette table comprend plusieurs champs,
vous
pouvez soit créer cette table et y insérer des données soit modifier la syntaxe des commandes bcp utilises avec vos propres parametres.

 

Source

  • 1) Exportation des donnees :
  • ----------------------------
  • syntaxe :
  • bcp NomDB..NomTable out CheminDestiantion NomFichier Parametre
  • Exemple :
  • ---------
  • Cette commande créera un fichier sur le disque d:\ nomme fichierutilisateurs.txt contenant les donnees de la db asp table utilisateurs.
  • bcp asp..utilisateurs out d:\FichiersUtilisateurs.txt -c -T
  • Parametres :
  • ------------
  • -c => specifie que nous travaillons en mode caractere
  • -T => vous evitera de taper votre mot de passe
  • Il est aussi possible d'utiliser des commandes Tsql pour n'extraire que les donnees qui nous interesse.
  • Exemple :
  • ----------
  • sauvegarde dans un fichier .txt du nom et du prenom de la table utilisateurs.
  • Syntaxe :
  • bcp "Requete from NomDB..NomTable etc.." queryout CheminDestination NomFichier Parametres
  • Exemple :
  • ---------
  • bcp "select nom,prenom from asp..utilisateurs" queryout d:\queryUtilisateurs.txt -c -T
  • 2) Importation des donnees :
  • ----------------------------
  • Pour l'importation des donnees, il suffit d'avoir le fichier de donnees et de taper la commande adequate dont voici la syntaxe.
  • bcp NomDB..NomTable in CheminDuFichierDeDonnees NomFichier parametres
  • Exemple :
  • ----------
  • Apres avoir importe les donnees de la table utilisateurs de l'exemple ci dessus, nous allons tout simplement les importer.
  • bcp asp..utilisateurs in d:\FichiersUtilisateurs.txt -c -T
1) Exportation des donnees :
----------------------------

syntaxe :

bcp NomDB..NomTable out CheminDestiantion NomFichier Parametre 


Exemple :
---------

Cette commande créera un fichier sur le disque d:\ nomme fichierutilisateurs.txt contenant les donnees de la db asp table utilisateurs.

bcp asp..utilisateurs out d:\FichiersUtilisateurs.txt -c -T


Parametres :
------------

-c => specifie que nous travaillons en mode caractere
-T => vous evitera de taper votre mot de passe


Il est aussi possible d'utiliser des commandes Tsql pour n'extraire que les donnees qui nous interesse.
 
Exemple :
----------

sauvegarde dans un fichier .txt du nom et du prenom de la table utilisateurs.

Syntaxe : 

bcp "Requete from NomDB..NomTable etc.." queryout CheminDestination NomFichier Parametres


Exemple :
---------

bcp "select nom,prenom from asp..utilisateurs" queryout d:\queryUtilisateurs.txt -c -T




2) Importation des donnees :
----------------------------


Pour l'importation des donnees, il suffit d'avoir le fichier de donnees et de taper la commande adequate dont voici la syntaxe.

bcp NomDB..NomTable in CheminDuFichierDeDonnees NomFichier parametres



Exemple :
----------

Apres avoir importe les donnees de la table utilisateurs de l'exemple ci dessus, nous allons tout simplement les importer.

bcp asp..utilisateurs in d:\FichiersUtilisateurs.txt -c -T

Conclusion


Voilà simple non et pratique..


Enjoy

Christophe

Un Bouillonnais
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de fabrice69 le 04/09/2005 03:37:43 administrateur CS

Intéressante solution.
Romelard Fabrice

signaler à un administrateur
Commentaire de jimmy69 le 04/09/2005 18:13:29

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

signaler à un administrateur
Commentaire de echecetmat le 26/09/2005 10:46:35

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. ;)

signaler à un administrateur
Commentaire de pat84 le 02/05/2007 15:44:23

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.

signaler à un administrateur
Commentaire de TheMatrixHasYou le 12/07/2007 22:32:01

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.

signaler à un administrateur
Commentaire de jimmy69 le 13/07/2007 11:04:10

salut salut,

Merci pour l'info c'est sympa !

Bonne fin de semaine
Christophe

signaler à un administrateur
Commentaire de redh0815 le 20/06/2008 21:34:48

merci bcp sava bien m'aider

signaler à un administrateur
Commentaire de dymsbess le 03/06/2009 20:38:41

BCP dynamique, voir :
http://www.xoowiki.com/Article/Batch/bcp-16.aspx

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Export / import automatisé [ par TheNash ] Bonjour à tous ! Voilà j'ai deux bases de données : une chez free et une chez un hébergeur.Je voudraissavoir si ct possible (et ac Export mysql => mssql [ par malalam ] Hello,une petite question : j'ai une base créée sous mysql, en innoDB. Je dois la passer (sa structure uniquement) sous mssql. Ell Import de données depuis un fichier Excel [ par BUZZ2K ] Bonjour,Afin d'allimenter ma base de donnees (une seule table en fait), je dispose d'un fichiers excel contenant les informations voulues.J'aurai aime export excel [ par beny100 ] bonjour, j'ai ecris mon programme en c# et mes données sont contenues dans une table de mon sql serveur 2000 et je cherche une methode pour l'export d MySQL vers MsSQL [ par dragon ] Bonjour,je dois migrer un forum de discution de MySQL vers MsSQL 2000 ou 2005. Bon en gros ça avance bien, sauf que je bloque sur un point, comme simu Export base de données SqlServer vers Oracle [ par issam164 ] Bonjour, Je veux exporter une base de données SqlServer vers une Export XML via BCP SQL server 2005 [ par bambou92 ] Bonjour,Je souhaiterai avoir une solution concernant mon problème d'export en format XML.J'ai créé une procédure stockée qui crée le fichier XML via f Import de données SSIS [ par vbmaniac8 ] Bonjour,Je dois créer un package SSIS d'import de données depuis un fichier CSV qui a un nom variable. En clair, je dois exécuter ce package chaque jo SQL Server : import de dates avec bcp [ par gadafla ] Bonjour,j'essaie d'importer un fichier csv avec un champ date du type "fév 1 2006" (format francais). Mais je ne peux pas importer ce fichier avec l'u Classement SQL pour base de données chinoise [ par kozher20 ] Bonjour,Je vais devoir créer une base de données sur une serveur SQL en chinois.Que me conseillez-vous comme classement SQL sachant que je pense que l


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,515 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.