none
gestionnaire de connexion en utilisant une variable RRS feed

  • Question

  • Bonjour,

    Est il possible dans le gestionnaire de connexion dans un lot ssis de créer une connexion en utilisant une variable pour le nom du serveur (Serveur/Instance) et/ou le nom de la base ?

    Mon objectif est de créer un lot SSIS générique pour alimenter à partir des serveurs différents.

    Merci de votre aide
    mardi 26 juin 2012 08:59

Réponses

  • Bonjour,   

    Il est en effet possible d’utiliser une variable pour définir une connexion, voici les étapes à suivre :   

    1 - Créer une nouvelle variable de type String (Scope du Package)   

    2 - Dans les propriétés de la connexion (que tu souhaites dynamique), copier la valeur présente dans la « ConnectionString » et la coller dans la valeur de la variable.  

    social.msdn.microsoft.com_ConnectionString  

    3 - Dans les propriétés de la connexion, « DelayValidation » = True  

    4 - Dans les propriétés de la connexion, « Epressions » : la propriété « ConnectionString » doit être égal à la variable :

    social.msdn.microsoft.com_Expression  

    Le tour est joué ! Il ne reste plus qu’à actualiser la variable lors de l’exécution du Package :-)

    ++


    Business Intelligence Consultant : Microsoft Certified MCITP, MCTS and MCSA SQL Server 2008.

    • Modifié Casteres Romain mardi 26 juin 2012 11:44
    • Marqué comme réponse naim216 jeudi 28 juin 2012 09:20
    • Non marqué comme réponse naim216 jeudi 28 juin 2012 09:40
    • Proposé comme réponse Casteres Romain jeudi 28 juin 2012 10:06
    • Marqué comme réponse Florin Ciuca mardi 3 juillet 2012 08:56
    mardi 26 juin 2012 11:40
  • Voici une solution :

    1. Dans une table temporaire, insérer les différentes ConnectionString des différentes BD
    2. Utiliser un Foreach ADO Enumerator qui pour chaque entrés dans ta table temporaire ira modifier la variable.
    3. La variable actualisera automatiquement la ConnectionString à la BD qui sera utilisée pour l'alimentation

    ++


    Business Intelligence Consultant : Microsoft Certified MCITP, MCTS and MCSA SQL Server 2008.

    • Marqué comme réponse Florin Ciuca mardi 3 juillet 2012 08:56
    jeudi 28 juin 2012 12:31

Toutes les réponses

  • Bonjour,   

    Il est en effet possible d’utiliser une variable pour définir une connexion, voici les étapes à suivre :   

    1 - Créer une nouvelle variable de type String (Scope du Package)   

    2 - Dans les propriétés de la connexion (que tu souhaites dynamique), copier la valeur présente dans la « ConnectionString » et la coller dans la valeur de la variable.  

    social.msdn.microsoft.com_ConnectionString  

    3 - Dans les propriétés de la connexion, « DelayValidation » = True  

    4 - Dans les propriétés de la connexion, « Epressions » : la propriété « ConnectionString » doit être égal à la variable :

    social.msdn.microsoft.com_Expression  

    Le tour est joué ! Il ne reste plus qu’à actualiser la variable lors de l’exécution du Package :-)

    ++


    Business Intelligence Consultant : Microsoft Certified MCITP, MCTS and MCSA SQL Server 2008.

    • Modifié Casteres Romain mardi 26 juin 2012 11:44
    • Marqué comme réponse naim216 jeudi 28 juin 2012 09:20
    • Non marqué comme réponse naim216 jeudi 28 juin 2012 09:40
    • Proposé comme réponse Casteres Romain jeudi 28 juin 2012 10:06
    • Marqué comme réponse Florin Ciuca mardi 3 juillet 2012 08:56
    mardi 26 juin 2012 11:40
  • Merci Beaucoup pour votre réponse aussi j'aimerai savoir  comment je peux exécuter même Package sur plusieurs BD sans relancé le Package pour chaque BD. (Est ce il ya une possibilité pour faire Foreach sur plusieurs BD)
    • Modifié naim216 jeudi 28 juin 2012 09:48
    jeudi 28 juin 2012 09:48
  • Bonjour,

    En effet il est possible d’effectuer un Foreach et de rendre dynamique via une variable la chaine de connexion à la base de donnée.

    Si celui-ci est fixe tu peux aussi créer autant de variables (contenant les ConnectionString de chaque base) que de base de donnée et créer plusieurs flux dans ton package.

    Connais-tu le nombre de base de données à alimenter ?

    ++

     

     

     


    Business Intelligence Consultant : Microsoft Certified MCITP, MCTS and MCSA SQL Server 2008.

    jeudi 28 juin 2012 10:02
  • Le problème c'est que je ne connais pas le nombre de base à alimenter, tout dépend de chaque société.(on peut avoir qu'une société a plusieurs devisions qui travail sur le même progiciel mais avec une base différente).


    • Modifié naim216 jeudi 28 juin 2012 12:16
    jeudi 28 juin 2012 12:16
  • Voici une solution :

    1. Dans une table temporaire, insérer les différentes ConnectionString des différentes BD
    2. Utiliser un Foreach ADO Enumerator qui pour chaque entrés dans ta table temporaire ira modifier la variable.
    3. La variable actualisera automatiquement la ConnectionString à la BD qui sera utilisée pour l'alimentation

    ++


    Business Intelligence Consultant : Microsoft Certified MCITP, MCTS and MCSA SQL Server 2008.

    • Marqué comme réponse Florin Ciuca mardi 3 juillet 2012 08:56
    jeudi 28 juin 2012 12:31