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

SSIS Discussion :

[SSIS][2k5] For each sur les tables d'une base de données


Sujet :

SSIS

  1. #1
    Membre expérimenté

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Points : 1 478
    Points
    1 478
    Par défaut [SSIS][2k5] For each sur les tables d'une base de données
    Salut à tous,
    Je désire faire la même chose que le fameux parcours de fichiers avec le composant for each, sauf que cette fois c'est avec des tables :
    - J'ai une base de données qui contient 4 tables : table0, table1, table2 et table3. Je voudrais faire un foreach avec comme "masque" les tables avec le nom "table*" et transférer leurs contenu dans une table destination.

    Une idée pour ça ?

  2. #2
    Membre expérimenté

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Points : 1 478
    Points
    1 478
    Par défaut
    Salut tout le monde !
    J'ai réussi ! :
    - Dans le cas de tables MSSQL, il faut faire un execute SQL task qui récupère les métadonnées de la base (donc le nom des tables) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TABLE_NAME, TABLE_TYPE  FROM INFORMATION_SCHEMA.TABLES where TABLE_NAME like 'table%'
    Dans mon cas, table% est utilisé pour ne récupérer que les noms de tables qui commencent par "table"...
    Ensuite, il ne reste plus qu'a connecter le composant avec un foreach loop et récupérer la variable générée précédemment avec la requête SQL.
    - Dans le cas de tables non MSSQL, il faut remplacer le execute sql task par un data flow task qui récupère le résultat de la requête dans une "record set destination".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/06/2015, 17h26
  2. [AC-2003] boucle For Each sur les donnees d'une table
    Par TheRRb dans le forum VBA Access
    Réponses: 6
    Dernier message: 20/07/2009, 12h15
  3. ittération sur les tables d'une base de donnée
    Par romyos dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 22/02/2009, 22h50
  4. Réponses: 2
    Dernier message: 26/12/2008, 14h54
  5. [Debutant] Lister les tables d'une base de données
    Par Konrad Florczak dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/07/2005, 16h24

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