web-dev-qa-db-fra.com

Variables SSIS vs paramètres (SSIS Denali)

  1. Quelle est la différence entre les variables et les paramètres dans SSIS Denali? 
  2. S'il y a une différence alors qu'est-ce que les variables ne peuvent pas faire que les paramètres peuvent faire? ou vice versa.
  3. Quand faut-il utiliser les paramètres et variables SSIS?

J'ai essayé de chercher sur Google, mais je n'ai pas réussi à obtenir certaines informations.

Merci en prévision!

15
Harshad

Je pense qu'un peu de contexte sera bénéfique pour comprendre le concept de paramètre. Ici, je vais l'expliquer dans le contexte de la comparaison avec les variables. Pour bien comprendre le concept des paramètres, vous devrez peut-être également rechercher le nouveau modèle de déploiement de projet, ainsi que l'environnement et la configuration de construction.

Utilisation de la variable

Avec SSIS avant 2012, si nous devions transmettre des valeurs externes au package avant l'exécution (comme nous le faisons tous tout le temps), j'utilise normalement le fichier de configuration (ou deux autres manières). Supposons que nous ayons un serveur de fichiers, qui sera utilisé pour accéder à un fichier partagé, j'utiliserai une variable pour stocker le nom du serveur et exposer cette variable au fichier de configuration. Si le serveur de fichiers réel est modifié (dev env pour tester env, etc.), nous avons simplement besoin de changer la valeur de cette variable dans le fichier de configuration et le package SSIS reste intact.

Tout semblait aller bien, mais il y a une ou deux choses que je me demande toujours pourquoi et que je ne comprends pas pourquoi:

  1. 100% du temps lorsque j'expose des variables au fichier de configuration, je viens d'exposer les propriétés "Value". Pourquoi SSIS permet-il d'exposer toutes les autres propriétés de variable?

  2. Pourquoi SSIS n'a-t-il pas de variable "privée"? Par "privé", je veux dire lorsque j'ai choisi les variables à configurer, celles "privées" ne figuraient tout simplement pas sur la liste de sélection. Le package SSIS peut comporter des dizaines de variables. Pour les détenteurs de valeur internes, à quoi sert-il de les exposer? Pourquoi dois-je faire défiler tout le chemin pour trouver le seul que je dois exposer?

Nouveau modèle de déploiement de projet

SSIS 2012 introduit un nouveau modèle de déploiement, le modèle de déploiement de projet. En bref, ce modèle déploie le projet SSIS en tant qu’unité unique dans le catalogue SQL Server SSIS, et la configuration de package n’est PAS disponible dans ce modèle choisissez lequel utiliser, 2012 par défaut pour le nouveau modèle).

Si nous voulons transmettre certaines valeurs aux packages SSIS, nous devons les transmettre via Parameters et utiliser le catalogue SSIS dans SSMS pour configurer la valeur des paramètres (uniquement la valeur, rien d'autre ne peut être configuré).). Les paramètres et les gestionnaires de connexion sont exposés automatiquement dans le catalogue SSIS, qui peut être configuré. Aucune autre option auparavant disponible via les fichiers de configuration ne peut être configurée dans le modèle de déploiement de projet (le monde est beaucoup plus propre). Dans le package SSIS, les paramètres peuvent être utilisés de la même manière que les variables pour la construction d'expressions. Cependant, les paramètres ne peuvent PAS être modifiés dans le package SSIS, ce qui est parfaitement logique. (Pourquoi avons-nous besoin de changer une valeur transmise de l'extérieur? Si nécessaire, transmettons la valeur à une variable et les modifications y sont apportées ..)

Résumer

Le paramètre est uniquement disponible dans le modèle de déploiement de projet et constitue le seul mécanisme permettant de transmettre des valeurs de packages externes aux packages SSIS dans ce modèle. Si nous pensons que SSIS pacakge est une classe OO, les paramètres pourraient être considérés comme des propriétés publiques, auxquelles les externes peuvent accéder et lui attribuer une valeur (la classe elle-même peut/va l'utiliser, mais ne peut pas la modifier). Lorsque les variables peuvent être considérées comme des variables privées, utilisées en interne, le monde externe n'a pas besoin de savoir quoi que ce soit à son sujet.

Pour l'ancien modèle de déploiement de packages, il n'y a pas de paramètre et le monde reste le même.

32
Jian Fu

En résumé, la valeur de la variable peut être modifiée pendant l'exécution, mais le paramètre ne le peut pas. Parameter peut vous aider à faire le déploiement du projet et vous pouvez le configurer dans le catalogue SSISDB, alors que variable ne le peut pas.

5
Dance-Henry

Cela fonctionne comme ceci: Disons que vous avez un paramètre de projet appelé ServerName:

Disons que vous déployez un package SSIS dans deux environnements de catalogue d'intégration, l'un configuré pour le serveur de production et l'autre configuré pour le serveur de test:

Ensuite, votre 'paramètre' ServerName sera défini dans prod avec l'adresse du serveur prod et dans l'environnement de test pour contenir l'adresse du serveur de test . Si une variable de votre paquet ssis nécessite une valeur d'exécution (par exemple, la variable est utilisée pour définir une connexion au moment de l'exécution pour les serveurs prod ou test), la variable utilisera le paramètre ci-dessus pour trouver le bon serveur auquel se connecter.

Donc, les paramètres sont généralement nécessaires dans des scénarios spécifiques à l'environnement.

Il existe deux types de paramètres en fonction de la configuration de votre solution dans Visual Studio: les paramètres de projet et les paramètres de package. Les paramètres du projet sont accessibles à tous les packages du projet.

2
Shiv Sidhu

Les variables et paramètres sont similaires à ceux de Java, Nous passons certaines valeurs à certaines méthodes/tâches sous forme de paramètres et nous les utilisons dans cette tâche particulière. De manière similaire à cette méthode dans SSIS, les paramètres de projet permettent de définir certaines variables ou connexions de manière dynamique dans le package. où as sont limitées aux variables internes au niveau du package.

2
Adithya Alapati

Les paramètres utilisent des données d'envoi externes au paquet, telles que les noms d'utilisateur, mots de passe, chaînes de connexion, etc. Cela signifie que vous pouvez définir une variable dans l'un de vos packages SSIS et l'utiliser au niveau du package. 

0
SilverSharK