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] Chargement de table avec update


Sujet :

SSIS

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 41
    Points : 22
    Points
    22
    Par défaut [SSIS] [2K5] Chargement de table avec update
    salut
    Pour comprendre mon souci je vais vous donner un exemple :

    Imaginons 2 tables (source, destination) qui ont les colonnes suivantes : identifiant, nom, adresse.
    Je voudrais charger la table de destination depuis la table source, jusqu'à là tout est bien.
    Le souci est que la table de destination a la colonne identifiant remplie (par les memes valeur de la table souce) alors il reste à charger les 2 colonnes nom et adresse. Ces dernières doivent correspondre au bon identifiant.
    la question est : avec quel composant et comment faire pour charger les colonnes nom et adresse (de la table destination) avec des valeurs qui correspondent à l'identifiant ?

    voile j'espère que vous aurez une solution.

    bonne journée

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Bonjour,
    dans ces cas là pourquoi ne pas écraser la table destination avec la table source si les identifiants sont les mêmes?
    Sinon si tu ne peux pas faire ça, il suffit de créer une tâche SSIS qui lit tes données en entrée via une étape de source que tu stocke dans une variable de type object. Et dans un foreach, , tu créee un script pour te générer une requête par entrée :
    update matable
    set nom = nouveaunom,
    adresse = nouvelleadresse
    where id = monid
    tu execute cette variable dans un script d'execution SQL et le tour est joué.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 41
    Points : 22
    Points
    22
    Par défaut
    salut
    est ce que tu peux bien m'expliquer la 2eme solution, car pour la premiere je peux pas ecraser la table.

    merci

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Eh bien en fait le but de la manipulation serait de générer automatiquement des requêtes update qui permettent de modifier des colonnes pour certaines conditions (ici ton id identique).

    pour réaliser cela sur SSIS, tu créee un objet de type tache d'execution de requete SQL sur ta base source. dans le quel tu met une requête
    select 'Update maTableDest set nom = '+champnom+', adresse = '+champAdresse+' where id = '+champId+';'
    from taTable. tu met l'option resultSet à un ensemble de résultat et tu paramètre une sortie 0 une variable globale de type objet.
    ensuite tu lie ton étape à un foreach avec enumérateur ADO et en sélectionnant ta variable come variable source. Ensuite, il te reste à faire un mappage de variable sur une autre variable. Enfin dans le foreach tu créee une étape d'execution de requête SQL sur ta base cible avec comme requête ta variable alimentée par le foreach. et le tour est joué

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 265
    Points : 314
    Points
    314
    Par défaut
    A mon avis, ce sera beaucoup plus simple avec un composant Slowly Changing Dimension. Il répond parfaitement à ce type de problématiques.

Discussions similaires

  1. [SSIS] [2K5] chargement de la table des faits
    Par aqavach dans le forum SSIS
    Réponses: 8
    Dernier message: 22/06/2009, 09h47
  2. Réponses: 2
    Dernier message: 05/06/2009, 21h50
  3. [SSIS][2K5] Preciser la table d'insertion
    Par tchraad dans le forum SSIS
    Réponses: 1
    Dernier message: 01/04/2008, 10h36
  4. Réponses: 0
    Dernier message: 22/02/2008, 06h49
  5. [MySQL] Insertion de code HTML dans une table, avec UPDATE
    Par Daedalus31 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 05/02/2007, 12h19

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