IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Export générique de tables


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Points : 15
    Points
    15
    Par défaut Export générique de tables
    Bonjour.

    Dans le cadre de mon stage je dois faire un export générique de tables (à partir d'une liste de tables). Export au format csv.

    Voici les deux voies explorées :
    1 - Créer un DTS comportant un Dynamic Properties Task. Le problème de cette solution est que je peux facilement changer le fichier csv de destination mais lorsque je modifie la table source je n'ai pas trouvé de solution pour faire auto-map des transformations entre la source et la destination. Quelqu'un aurait une idée ?

    2 - Utiliser la commande bcp. Simple d'utilisation mais comment faire dans le cas où les tables contiennent le caractère séparateur de colonne ? Exemple : si une ligne de la table est "toto" | "je suis, content" --> le csv créé sera toto,je suis, content --> problème pour récupérer les résulats.
    Si quelqu'un à une solution à cet autre problème...

    Dernier point qui me pose un léger problème est l'exportation de la structure de la table. Pour l'instant ce que je fais c'est à partir de la description de la table je génère une requête sql pour créer cette table. N'y a-t-il pas une solution plus "propre".

    Merci d'avance pour tout et bonne journée tout le monde

  2. #2
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    petit up, j'ai un peu mieux expliqué mon problème

  3. #3
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Pas vraiment de solution plus propre en T-SQL. Par contre à partir d'un autre langage (ou procédures stockées étendues en T-SQL), tu peux générer le code de création des objets. Comme tu n'as pas donné la version de SQL Server que tu utilises (dommage...), tu peux à minima utiliser SQL-DMO. En 2005 tu peux utiliser SMO en .NET.

    Tu trouves sur mon site un exemple de code de génération d'objets en Python et Ruby :
    http://www.babaluga.org/doku.php/pro...on_python-ruby

    Pour la génération des scripts d'insert :
    http://www.codeproject.com/database/...eratorPack.asp
    http://www.dotnetspider.com/kb/Article716.aspx

    Et si tu veux passer ton stage à downloader des divx au lieu de travailler, sache que ce genre d'outil existe déjà :
    • SQL Compare, Red Gate
    • SQL Examiner
    • SQL Delta
    • ApexSQL
    • ...
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

  4. #4
    Membre à l'essai
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Euuu... je suis sous sql server 2000.
    Il n'y a presque rien d'installé sur le serveur. Ni perl, ni python ni ruby, enfin rien quoi ...

    Il n'y a vraiment aucune solution pour refaire le mappage ?
    Dans l'interface des DTS quand on modifie la table source il propose de refaire les liens automatiquement. Il doit donc exister une fonction a appeler ou un truc du genre, non ?

    et en ce qui concerne la commande bcp et les séparateurs ?

    Et pour info tous les stagiaires ne sont pas faignants... quoi que...

  5. #5
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    En DTS, le mappage des métadonnées est fixé. C'est une des lois de l'ETL selon Microsoft. Tu peux tricher en faisant des scripts ActiveX il me semble, mais c'est du bricolage.

    Tu poeux faire le même script que mes exemples en vbscript. Et ça ton serveur doit l'avoir.
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

Discussions similaires

  1. [VBA-E]Export données dans table Access
    Par lolo_bob2 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 11/04/2006, 09h56
  2. Réponses: 10
    Dernier message: 27/03/2006, 14h40
  3. exportation enregistrement entre tables access
    Par Mickey_Mouse dans le forum Access
    Réponses: 1
    Dernier message: 15/12/2005, 21h52
  4. Réponses: 3
    Dernier message: 07/12/2005, 14h28
  5. Comment exporter / importer une table postgres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 01/03/2005, 18h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo