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] SSIS deploiement des packages


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] SSIS deploiement des packages
    bonjour

    j'ai finit la phase de developpement des package et me reste le deploiement
    après avoir fait des recherche sur le net et lire la documentation microsoft sur le deploiment des packages SSIS je n'ai pas bien compris .
    qu'il faut configurer le package avant de le deployer ce qui est logique.

    1) en cas de'utiliser des fichier xml de configuration faut aussi mettre ces fichiers xml sur la machine de destination et dans ce cas est ce que ça doit etre dans le meme repertoire des package deployés sur machine destination ?

    2) j'ai 10 package pour les configurer je vais avoir 10fichiers xml ?

    3) dans mon projet quand je vais les deployer sur les machines de destination ça va changer le serveur,utilisateur, mot de passe je voudrais savoir quelles sont les propriété que je dois configurer dans le fichier xml ?

    4) pour deployer les package consiste de mettre sur la machine de destination tt le projet ou juste les package generés qui sont dans bin/deployment et lancer l'installation ?

    5) je voudrais aussi savoir est ce que ya une solution à mettre pr protoger l'execution des package par un mot de passe ?

    si vous avez une documentation plus detaillée qui explique les differentes etape je ss preneur.

    merci d'avance

    bonne journée

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    1) Le package stocke l'adresse des fichiers XML donc oui, par défaut ils doivent se situer au même endroit. Ceci dit tu as aussi la solution de spécifier ce fichier au moment du lancement dans ton ordonnanceur.

    DTEXEC /FILE MonPackage.dtsx /CONFIGFILE MonFichierDeConfig.dtsConfig

    2) Non Tant que les valeurs à configurer ont le même nom et sont toutes présentes dans chaque package (Même noms de variables de connection managers...) c'est OK.

    3)La connectionString de tes connection managers contient tout cela. C'est la seule chose à paramétrer pour la mise en prod.

    4) Tu peux faire cela. Tu peux aussi utiliser l'utilitaire DTUTIL pour faire du déploiement un peu custom:

    FOR %%F in (".\*.dtsx")
    DO DTUTIL /Q /DESTS MonServeur /Fi "%%F" /C "SQL;%%~nF"

    déploie tous les dtsx d'un dossier courant en base MSDB par exemple. (jette un coup d'oeil à BooksOnline)

    5)Pour protéger l'exécution par mot de passe du peux choisir un mode d'encryption "EncryptAllWithPassword" au niveau package. De cette manière tu devras spécifier

    DTEXEC /FILE MonPackage.dtsx /DECRYPT MonMotDePasse

    pour exécuter.

    Pour de la doc, MSDN/Technet ça va très bien. Ceci dit un très bon bouquin est le Professional Integration Services chez Wrox.

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

  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
    merci pour tes reponses françois est ce que tu peux m'eclaircir stp

    1) comment spécifier le fichier au moment du lancement dans mon ordonnanceur ?

    2) oui les valeurs (Même noms de variables de connection managers...) à configurer ont le même nom et sont toutes présentes dans mes 9 packages
    alors je dois configurer chaque pakage mais comment faire pr qu'ils auront le meme fichier XML de configuration ?
    2-1) je voudrais aussi savoir si on peut declarer un gestionaire de connexion public qui peut etre utiliser pour mes 9 packages ?

    5)c'est ou on peut choisir le mode d'encryption "EncryptAllWithPassword" au niveau du package

    6) et enfin les commande comment les utiliser faut les taper ou exactement ?

    bon après midi

  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
    1) Si tu bosses avec SQL Agent, lorsque tu planifies une tâche de type SSIS, tu as un onglet "Package Configurations", il suffit de sélectionner celle que tu souhaites. Dans un autre ordonnanceur, tu exécutes une commande DTEXEC avec en paramètre CONFIGFILE le nom de ton fichier de config (cf mon post précédent)

    2) Soit tu crées une configuration dans ton package (SSIS>PackageConfigurations) et tu sélectionnes le fichier pour chaque package, l'IDE devrait détecter que tu peux l'appliquer et te proposer d'utiliser ce fichier existant (Reuse Existing). Soit tu l'appliques via le DTEXEC (cf point 1)

    2-1)Un connection manager n'est pas partageable, sauf à passer par une DataSource et une ConnectionFromDataSource. La meilleure manière est d'en crééer un du même nom dans chaque lot et d'appliquer un fichier de configuration identique pour chacun.

    5) Clic sur le "fond" de ton ControlFlow, et dans la propriété ProtectionLevel (onglet Properties) choisit cette valeur dans la combobox.

    6)Tout dépend de qui tu veux qui exécute le package et quel est le mode d'accès à ceux ci. Si tu utilises l'exécuteur par défaut, DTEXECUI (ce qui se lance quand tu doubles cliques un fichier dtsx) tu as une partie password à saisir. Si tu le déclenches dans un applicatif custom (appli web par exemple) c DTEXEC est une commande Shell à exécuter dans ton code (CommandExec....).

    En espérant avoir éclairci ces points

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

  5. #5
    Membre éclairé
    Avatar de patriceharel
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 466
    Points : 884
    Points
    884
    Par défaut
    Bonjour à vous..

    Juste pour préciser un point. Le chemin du fichier de conf est paramétrable pour les packages. De cette manière il n'est pas obligatoire qu'il se trouve exactement au même endroit sur la plateforme de développement et sur celle de production. Pour cela, il faut choisir le bouton option Configuration location is stored in an environement variable. On précisera alors le chemin complet du fichier dans une variable environnement.
    Attention cependant, mieux vaut faire cela à la fin des développements car sinon nous n'avons plus accès à l'IDE très pratique de création de ce fichier.

    Pour le reste, c'est parfaitement expliqué

  6. #6
    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
    Merci Patrice

    Ceci dit j'essaie d'éviter la variable d'environnement: un reboot des serveurs de prod n'est pas forcément la panacée chez les clients, et celui-ci est parfois nécessaire pour voir la modif de la variable (je me rappelle d'une fois ou le reboot de TOUS les services SQL ne suffisait pas)...

    De toute manière je suis plus branché configuration SQL Mais on s'écarte.

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

  7. #7
    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
    je te remercie françois, patrice
    c'est trop bien expliqué ça va me permettre d'avancer rapidement j'espère.

    à propos de (2-1) j'ai trouvé que c'est possible d'utiliser des source de données( sont des références de connexion que nous pouvons créer à l'extérieur d'un package. et par la suite utiliser ces sources de données dans les package (ajouter une référence de source de données à un package)

    qu'est ce que vous pensez de cela ?

    moi je trouve que trop pratique.

    merci encore

  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
    sauf à passer par une DataSource et une ConnectionFromDataSource.
    C'est une solution, mais comme j'ai souvent des choses en plus des connexions à paramétrer je ne m'en sers jamais et je préfère un bon vieux fichier voire une petite table .

  9. #9
    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
    bonjour,

    pour la gestion d'erreur je mets en place pas mal de fichiers plats qui servent à enregister les lignes au cas d'erreur, je pense que ça va etre fastidieux de configurer le package pour declarer toutes les connections aux fichiers plats, je voudrais savoir si on specifie un chemin precis unique pour ces fichiers sur tous les ordinateurs de destination ça peut nous eviter de passer pas les fichiers de configuration(sachant que moi les fichiers de configuration je les utilise pr configurer les conections aux bases de données).

    merci

  10. #10
    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
    Bien sûr tu peux créer un dossier "C:\MesLogs\" que tu poses sur chaque poste exécutant des lots, et auquel cas, nul besoin de configuration. Mais je te le déconseille fortement: en production tu n'auras pas forcément les droits de faire comme cela... Une des solutions idéales pour toi c'est:

    1) De déclarer une variable "LogPath" qui contient le nom du dossier de Log. Cette variable, tu la stockeras dans un fichier de config.

    ex: LogPath = "C:\MesLogs\" en dev
    LogPath = "D:\Logs\" en prod

    2) Tu configures tes FlatFile ConnectionManager, en créant une Expression (Propriété "Expression" du ConnectionManager FlatFile, panel de droite) sur la propriété ConnectionString.

    Au lieu d'avoir comme ConnectionString en dur "C:\MesLogs\MauvaisesLignes.csv", tu mets un truc du style "[User]::[LogPath] + "MauvaisesLignes.csv" (utilise le concepteur). Fais ça sur tous tes FlatFile Connection Managers, et de cette manière tu contrôles le dossier de tous tes logs via une simple variable, que tu passes par fichier de config.


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

  11. #11
    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
    merci bcq
    au niveau de dev, mes packages fonctionnent bien, mais dès que j'ajoute un fichier xml de configuration pour le package ça ne s'execute plus ( je lance l'execution à partir de visual sudio)

    est ce que vous avez une idée de cela ? (sachant quand je supprime le fichier de configuration le package s'exécute)

    bonne journée

  12. #12
    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
    D'une part si c'est vrai que si tu ne postes aucun log de la console (les premières lignes surtout) ça va être compliqué... Mais bon.

    Ca peut venir de quelques petites choses, mais si en le supprimant ça remarche, et sous réserve que tu postes l'output, je dirais que tu dois avoir dans ton fichier de config une référence à une entité (ConnectionManager, Variable...) n'existant pas dans le package que tu exécutes. Le fichier essaie de configurer toutes les entités qu'il décrit: si une n'existe pas l'exécution s'arrête. Vérifie cela.

    Enfin sur un plan strictement forumistique je ne suis pas sûr que les modos aiment beaucoup le topic fourre-tout FAQ sur SSIS...

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

  13. #13
    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
    oui dsl
    j'ai oublié d'indiquer le message d'erreur que j'ai " echec de l'appel de la methode AcquireConnection vers le gestionnaire de connections... code d'erreur :0xC0202009

    pour la configuration des package j'ai suivi les etapes comme sont indiqué sur msdn et technet. donc je configure que connectionstring

  14. #14
    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
    j'ai fait un exemple très simple(un package avec 2gestionaire de connection que j'ai configuré) et j'ai la meme erreur, peut etre que je fais une mauvaise manipulation mais je suis comme c'est indiqué sur le net.

    pour la configuration je ne coche que la case connectionString .

  15. #15
    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
    Alors là ça sent la chaine de connexion avec login/mot de passe dont le mot de passe n'a pas été stocké dans le fichier de config

    C'est le comportement par défaut du moteur de configuration (pour des raisons de sécurité). Si c'est bien une connexion de ce type, édite ton fichier dtsConfig et rajoute Password=TonMotDePasse; dans la ConnectionString.

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

  16. #16
    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
    oui exactement
    ça marche trop bien mnt.
    au cas ou le mot de passe est vide(blanc) tu pense qu(on doit ajouter le password dans la connection string

    merci bien

  17. #17
    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
    Oui même si je n'utilise que rarement des mdp vides il me semble bien que tu es tenu d'ajouter la node Password dans la ConnectionString.

    Server=(local);User ID=sa;Password=;

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

  18. #18
    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
    Bien sûr tu peux créer un dossier "C:\MesLogs\" que tu poses sur chaque poste exécutant des lots, et auquel cas, nul besoin de configuration. Mais je te le déconseille fortement: en production tu n'auras pas forcément les droits de faire comme cela... Une des solutions idéales pour toi c'est:

    1) De déclarer une variable "LogPath" qui contient le nom du dossier de Log. Cette variable, tu la stockeras dans un fichier de config.

    ex: LogPath = "C:\MesLogs\" en dev
    LogPath = "D:\Logs\" en prod

    2) Tu configures tes FlatFile ConnectionManager, en créant une Expression (Propriété "Expression" du ConnectionManager FlatFile, panel de droite) sur la propriété ConnectionString.

    Au lieu d'avoir comme ConnectionString en dur "C:\MesLogs\MauvaisesLignes.csv", tu mets un truc du style "[User]::[LogPath] + "MauvaisesLignes.csv" (utilise le concepteur). Fais ça sur tous tes FlatFile Connection Managers, et de cette manière tu contrôles le dossier de tous tes logs via une simple variable, que tu passes par fichier de config.
    bonjour françoit,
    suite à ton post en dessus, tu pourra me detailler stp encore plus comment declarer et utiliser les variables dans SSIS (est que tu parles des variables d'environnement) . si t'as un lien qui décrit bien cela je suis preneur, j'ai vu sur internet mais j'ai rien trouvé.

    est ce que je dois utiliser un gestionnaire de connexion plat ?

    merci

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/10/2010, 16h15
  2. [SSIS] [2K5] SSIS 2K5 Extraction de recordset
    Par jeud84 dans le forum SSIS
    Réponses: 5
    Dernier message: 08/10/2009, 17h39
  3. [SSIS] [2K5] SSIS deploiement des packages
    Par hayassinet dans le forum SSIS
    Réponses: 1
    Dernier message: 17/07/2009, 18h05
  4. [SSIS][2k5]Création d'un Package ETL
    Par freestyler dans le forum SSIS
    Réponses: 1
    Dernier message: 03/04/2008, 15h12
  5. [SSIS][2k5] Erreur dans un Package SSIS
    Par tchraad dans le forum SSIS
    Réponses: 1
    Dernier message: 18/03/2008, 11h52

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