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] Choix de la source de donnée suivant une variable


Sujet :

SSIS

  1. #1
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut [SSIS] [2K5] Choix de la source de donnée suivant une variable
    Bonjour,

    Je voudrai savoir comment je peux faire pour exécuter telle ou telle source de donnée en fonction d'une variable.
    Dans mon cas j'extrait mes données d'une base liée à un logiciel, et suivant la version du logiciel je veux executer une certaine source de données.
    La raison principale est que la base a été modifiée pour la version la plus récente, et certains champs que j'utilisais ont été déplacé dans d'autres tables.
    Donc ma question est comment fait-on dans le flux de controle pour faire une sorte de "SELECT CASE"?
    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 : 39
    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
    comment fait-on dans le flux de controle pour faire une sorte de "SELECT CASE"?
    Donc j'en déduis que tu veux faire des branchements conditionnels dans le ControlFlow (par exemple pour aller dans un DataFlow particulier).
    Tu remarqueras que les PrecedenceConstraints (les liens entre les éléments de ControlFlow) sont éditables, et qu'on peut leur affecter une expression en plus de leur contrainte native (Success, Failure, Completion). En choisissant un mode "Expression + Contrainte" tu peux relier un premier composant aux 3 suivants, chacun des liens en question étant par exemple: Success && Version="1.0", Success && Version="2.0" ou Success && Version="3.0" ces liens aiguillant vers le DataFlow correspondant à la version en question.

    NB dans mon exemple Version est une variable d'un scope commun aux 3 composants, par exemple le Package.

    L'article MSDN sur les PrecedenceConstraints: http://msdn.microsoft.com/en-us/library/ms141261.aspx
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  3. #3
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut
    merci,

    j'étais sur la meme voie, mais je me suis confronté à un autre pb.
    La validation des packages, elle ne passe pas si un champ demandé dans une requete n'existe pas (ce qui est le cas suivant les versions), et donc je ne peux pas faire de data flow differents par version, parce que y en aura tj qui ne seront pas validés.
    Donc je suis parti sur une requete que je modifie et que je stocke dans une variable. Cette variable est utilisée dans une source OLEDB.
    Mais un autre pb se présente, je suis obligé d'initialiser cette variable avec une requete (soit doit etre nécessaire pour la validation du package).
    Or si j'initialise avec la (bonne) requete qui sera utilisée par le dataflow pour un certaine version, qd je change de version ca plante...

    retour à la case départ.

  4. #4
    Membre actif
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Points : 254
    Points
    254
    Par défaut
    j'ai trouvé!!
    Donc je passe par une variable dans laquelle je mets une requete en fonction de la version de la base que j'exploite.
    Je fais référence à cette variable dans un objet source de données OLEDB, et dans les propriétés de l'objet je mets à false "ExternalValidateMetaData".
    Comme ca pas de validation de la source de donnée et pas d'erreur!!
    Voila.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/05/2008, 15h46
  2. Réponses: 2
    Dernier message: 17/04/2008, 11h16
  3. Réponses: 2
    Dernier message: 16/04/2008, 13h40
  4. [SSAS][2k5] mise a jour source de données
    Par geof dans le forum SSAS
    Réponses: 2
    Dernier message: 20/12/2007, 10h49
  5. [VBA-A]Publipostage: Choix de la source de donnée
    Par sabes dans le forum VBA Access
    Réponses: 3
    Dernier message: 30/05/2006, 20h36

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