begin process at 2008 07 25 12:21:31
1 216 188 membres
156 nouveaux aujourd'hui
14 180 membres club

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é: 10 650 / 672

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
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
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

  • 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

Ajouter un commentaire

Pub



Appels d'offres

Animation Flash alimen...
Budget : 6 000€
Creation portail video
Budget : 3 000€
Site de e-commerce
Budget : 5 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Boutique

Boutique de goodies CodeS-SourceS