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] Récupérer l'emplacement du package lancé


Sujet :

SSIS

  1. #1
    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 [SSIS] [2K5] Récupérer l'emplacement du package lancé
    Bonjour,
    Je travaille sur une transformation SSIS dans un dossier. Ce dossier est amené à être déplacé sur plusieurs machines différentes. Or le problème est que j'utilise 4 packages et que pour créer les connexions à ces packages, j'entre un chemin qui ne peut être qu'absolu et la transformation ne donc fonctionnera que si les package sont toujours placées au même endroit, ce qui n'est pas garanti étant donné les problèmes de droits qui peuvent exister.
    J'ai donc essayé de créer un script qui détecterait l'emplacement physique du .dtsx appelé ce qui me permettrait de modifier mes connexion avec le chemin courant. Seulement je n'arrive pas à savoir comment accéder à la propriété emplacement du package courant.

  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
    Je me suis déjà cassé les dents dessus sans succès: essaie de voir si tu ne peux pas plutôt la passer en externe, i.e. lancer les packages via un Batch qui prend la valeur du PATH courant et la pose dans une variable, transmise au package via DTEXEC.

    François JEHL
    Consultant Formateur
    MCITP/MCT Business Intelligence Development
    Winwise (Paris)
    http://fjehl.blogspot.com

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 53
    Points : 49
    Points
    49
    Par défaut
    Bonjour,
    Je relance cette discussion en 2010 pour voir si de nouvelles idées ont germées dans l'esprit de certain.

    La demande de Matma correspond pilepoil à mon problème et je n'y ajouterai rien.

    La solution batch de François ne me conviens pas, peut-être a t-il persévéré vers autre chose.

  4. #4
    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
    Malheureusement rien de vraiment neuf: j'en suis arrivé à la conclusion qu'il me semble impossible que le package connaisse son emplacement de lancement... Ce qui peut faire sens. Pas mal de mes contacts abondent dans ce sens là.

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 53
    Points : 49
    Points
    49
    Par défaut
    Merci de ta réponse.
    Je pense que le fait pour un package de connaitre son emplacement a au contraire une grande importance.
    Mais c'est peut-être dû à la manière dont nous travaillons qui n'est peut-être pas orthodoxe.
    Nos packages complexes sont en général décomposés en plusieurs packages simples qui sont exécutés à partir d'un package appelé Lanceur. C'est bien sûr dans ce ce lanceur que se pose le problème des connexions aux .dtx avec une ConnectionString en dur.

    Nos développeurs voudraient récupérer la solution visual studio à partir de Source Safe, faire leur modifs et tester en local sans déployer unitairement les packages sur un serveur de test.

    On a trouvé une parade un peu bidon qui consiste à fixer la connectionString à partir d'une expression qui utilise une variable user:VisualStudioProjectPath que nous initialisons par une tache de script en début du lanceur. Ce script récupère dans la base de registre la clé qui donne le répertoire par défaut des projet visual studio et le concatène au nom du projet.

    C'est pas top mais ça marche et ça nous permet de continuer à travailler de manière impropre mais commode .

  6. #6
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Je ne sais pas si la situation correspond exactement, mais souvent, nous utilisons sur les serveurs et les postes développeurs un répertoire partagée, pointant sur le poste lui-même.

    Ex :
    Chacun des développeur, fait pointer son TFS, Sourcesafe etc où il veut.
    Il crée alors un partage local sur ce répertoire.
    Il crée connecte ensuite un lecteur réseau qu'il appelle d'une lettre précise sur ce répertoire.
    Chacun des dév a alors un disque I (par exemple) qui pointe tous vers la même architecture de dossier etc...

    Faire de même sur le serveur où son exécuter les packages et c'est réglé.

    Attention, en fonction du type de déclenchement des packages, il faudra sûrement créer un véritable disque I (physique) sur ce serveur.

    Les dév ne doivent pas oublier de faire pointer leurs chaines de connections fichiers vers le I et non leur répertoire local

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 53
    Points : 49
    Points
    49
    Par défaut
    Merci,
    Je soumet ta proposition à la prochaine réunion méthodo.
    Je mettrai sur ce fil le résultat de nos empoignades

  8. #8
    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
    Bah le truc le plus approchant de ce que vous cherchez à faire c'est la bidouille de Galloway pour faire de l'adressage de config en relatif... mais au final il récupère le working directory du process qui a lancé le package, ce qui doit sans problèmes se choper en script... http://www.artisconsulting.com/blogs...b857634f&ID=15

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/02/2009, 18h12
  2. [SSIS][2k5]récupérer un fichier par FTP
    Par Mathusalem dans le forum SSIS
    Réponses: 2
    Dernier message: 21/07/2008, 09h36
  3. [SSIS][2k5]Récupérer valeur des Variable
    Par rHuM971 dans le forum SSIS
    Réponses: 1
    Dernier message: 16/05/2008, 17h48
  4. [SSIS][2K5] Pb d'execution de packages
    Par geof dans le forum SSIS
    Réponses: 3
    Dernier message: 25/03/2008, 16h29
  5. Réponses: 2
    Dernier message: 25/02/2008, 14h33

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