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 :

Table enregistrée dans une variable: récupérer un attribut de la variable [2008R2]


Sujet :

SSIS

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Points : 32
    Points
    32
    Par défaut Table enregistrée dans une variable: récupérer un attribut de la variable
    Bonsoir,

    j'effectue dans mon control flow un Execute SQL Task qui enregistre dans une variable de type Object le résultat d'une requête qui sélectionne un IdClient et un NomClient. Celle-ci retourne plusieurs résultats, je la parcours donc avec un ForEach.

    Dans mon foreach j'ai un DataFlowTask dans lequel je voudrais exploiter un attribut de ma variable, notamment l'attribut IdClient . A savoir que le scope de ma variable est bien paramétré pour tout le lot.

    Comme je dois faire pour récupérer la valeur de cet attribut?

    Merci

  2. #2
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Tu dois juste mapper une variable du type de la colonne en question à l'index de la colonne dans la collection que tu passes au ForEach. Tu veux récupérer les résultat de la première colonne de ta requête de type entier, mappe une variable de type Integer à l'index 0 (c'est 0-based) et utilise cette variable dans ton DFT.
    http://msdn.microsoft.com/en-us/library/ms188528.aspx

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Points : 32
    Points
    32
    Par défaut
    Oui, au final c'est ce que j'ai fait, je mappe l'index dans une variable dans mon ForEach qui parcourt la collection issue de ma Execute Sql Task, du coup je récupère ma table dans mon data flow task.

    Pour ce faire j'ai découvert que l'on pouvait utiliser des paramètres dans une OLE DB Source.
    Pour ceux qui liront ce post voilà comment on fait. Dans mon cas je dois récupérer une Entité d'une organisation. Comme on l'a dit j'ai mappé l'index de chaque entité dans ma variable IdEntite dans le ForEach.

    Pour récupérer mon enregistrement:

    - Créer une OLE DB Source
    - Sélectionner le Data Acces Mode "SQL Command"
    - On passe la requête, dans mon cas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT        IdEntite_PK, Entite, IdClient, RefEntiteFromDataSource, IdEntiteParent, RefIdentiteParentFromDataSource
    FROM            dbo.DimEntite
    WHERE        (IdEntite_PK = ?)
    Le "?" permet d'utiliser une variable passée en paramètre à l'OLE DB SOURCE. Pour récupérer la variable on doit cliquer dans "parameters" et affecter au parameter0 la variable dont on a besoin, à savoir l'IdEntite.

    @++

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/05/2011, 10h57
  2. Récupérer chaque ligne de type enregistrement dans une table
    Par atporfi dans le forum Administration
    Réponses: 2
    Dernier message: 02/04/2008, 19h12
  3. [MySQL] Récupérer une variable d'une fonction et enregistrement dans une base de données
    Par Mikke dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/03/2008, 17h02
  4. Réponses: 11
    Dernier message: 20/07/2007, 15h32
  5. Réponses: 7
    Dernier message: 08/03/2007, 16h42

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