TechNet
Exporter (0) Imprimer
Développer tout

Variables Integration Services (SSIS)

 

S'applique à: SQL Server 2016

Les variables stockent des valeurs qu'un package SQL Server Integration Services et ses conteneurs, tâches et gestionnaires d'événements peuvent utiliser au moment de l'exécution. Les scripts de la tâche de script et du composant Script peuvent également utiliser des variables. Les contraintes de précédence qui séquencent les tâches et les conteneurs dans un flux de travail peuvent utiliser des variables lorsque leurs définitions de contraintes incluent des expressions.

Vous pouvez utiliser des variables dans des packages Integration Services pour les opérations suivantes :

  • Mise à jour de propriétés d'éléments de package au moment de l'exécution. Par exemple, vous pouvez dynamiquement définir le nombre d'exécutables simultanés qu'un conteneur de boucles Foreach autorise.

  • Inclusion d'une table de recherche en mémoire. Par exemple, un package peut exécuter une tâche d'exécution SQL qui charge une variable avec des valeurs de données.

  • Chargement de variables avec des valeurs de données, puis utilisation de ces variables pour spécifier une condition de recherche dans une clause WHERE. Par exemple, le script dans une tâche de script peut mettre à jour la valeur d'une variable qui est utilisée par une instruction Transact-SQL dans une tâche d'exécution SQL.

  • Chargement d'une variable avec un entier, puis utilisation de la valeur pour contrôler le bouclage au sein d'un flux de contrôle de package. Par exemple, vous pouvez utiliser une variable dans l'expression d'évaluation d'un conteneur de boucles For pour contrôler l'itération.

  • Remplissage de valeurs de paramètres pour des instructions Transact-SQL au moment de l'exécution. Par exemple, un package peut exécuter une tâche d'exécution SQL, puis utiliser des variables pour définir dynamiquement les paramètres d'une instruction Transact-SQL.

  • Création d'expressions qui incluent des valeurs de variables. Par exemple, la transformation de colonnes dérivées peut remplir une colonne avec le résultat obtenu suite à la multiplication d'une valeur de variable par une valeur de colonne.

Integration Services prend en charge deux types de variables : les variables système et les variables définies par l’utilisateur. Les variables définies par l'utilisateur sont définies par les développeurs de packages, tandis que les variables système sont définies par Integration Services. Vous pouvez créer autant de variables définies par l'utilisateur qu'un package l'exige, mais vous ne pouvez pas créer de variables système supplémentaires.

Toutes les variables (système et définies par l'utilisateur) peuvent être utilisées dans les liaisons de paramètres que la tâche d'exécution SQL utilise pour mapper des variables à des paramètres dans des instructions SQL. Pour plus d’informations, consultez tâche d’exécution SQL et paramètres et Codes de retour dans la tâche d’exécution SQL.

System_CAPS_ICON_note.jpg Remarque


Les noms des variables définies par l'utilisateur et des variables système respectent la casse.

Vous pouvez créer des variables définies par l'utilisateur pour tous les types de conteneurs Integration Services : packages, conteneurs de boucles Foreach, conteneurs de boucles For, conteneurs de séquences, tâches et gestionnaires d'événements. Les variables définies par l'utilisateur sont des membres de la collection Variables du conteneur.

Si vous créez le package à l'aide du concepteur SSIS , vous pouvez afficher les membres de la collection Variables dans le dossier Variables sous l'onglet Explorateur de package du concepteur SSIS . Les dossiers répertorient les variables définies par l'utilisateur et les variables système.

Vous pouvez configurer les variables définies par l'utilisateur de plusieurs manières :

  • Spécifiez un nom et une description pour la variable.

  • Spécifiez un espace de noms pour la variable.

  • Indiquez si la variable déclenche un événement lorsque sa valeur change.

  • Indiquez si la variable est en lecture seule ou accessible en lecture/écriture.

  • Utilisez le résultat de l'évaluation d'une expression pour définir la valeur de la variable.

  • Créez la variable dans la portée du package ou un objet de package tel qu'une tâche.

  • Spécifiez la valeur et le type de données de la variable.

La seule option configurable des variables système est le déclenchement d'un événement lorsque leur variable change.

Un ensemble de variables système différent est disponible pour différents types de conteneurs. Pour plus d'informations sur les variables système utilisées par les packages et leurs éléments, consultez System Variables.

Pour plus d’informations sur les scénarios d’utilisation réelle des variables, consultez utiliser des Variables dans les Packages.

Vous pouvez configurer les variables définies par l’utilisateur en définissant les propriétés suivantes, que ce soit le Variables fenêtre ou le propriétés fenêtre. Certaines propriétés sont disponibles uniquement dans la fenêtre Propriétés.

System_CAPS_ICON_note.jpg Remarque


La seule option configurable des variables système est le déclenchement d'un événement lorsque leur variable change.

Description
Spécifie la description de la variable.

EvaluateAsExpression
Lorsque la propriété a la valeur True, l’expression fournie est utilisée pour définir la valeur de la variable.

Expression
Spécifie l'expression affectée à la variable.

Nom
Spécifie le nom de la variable.

Espace de noms
Integration Services fournit deux espaces de noms, utilisateur et système. Par défaut, les variables personnalisées se trouvent dans l’espace de noms User et les variables système se trouvent dans l’espace de noms System . Vous pouvez créer des espaces de noms supplémentaires pour les variables définies par l’utilisateur et modifier le nom de la utilisateur espace de noms, mais vous ne pouvez pas modifier le nom de la système espace de noms, ajouter des variables pour le système espace de noms, ou affecter des variables système à un autre espace de noms.

RaiseChangedEvent
Lorsque la propriété a la valeur True, le OnVariableValueChanged événement est déclenché lorsque la variable change de valeur.

En lecture seule
Lorsque la propriété a la valeur False, la variable est en lecture-écriture.

Portée

System_CAPS_ICON_note.jpg Remarque


Vous pouvez modifier ce paramètre de propriété uniquement en cliquant sur déplacer la Variable dans les Variables fenêtre.

Une variable est créée dans la portée d'un package ou dans la portée d'un conteneur, d'une tâche ou d'un gestionnaire d'événements dans le package. Le conteneur de packages se trouvant au sommet de la hiérarchie de conteneurs, les variables avec une portée de package fonctionnent comme les variables globales et peuvent être utilisées par tous les conteneurs du package. De même, les variables définies dans la portée d'un conteneur tel qu'un conteneur de boucles For peuvent être utilisées par toutes les tâches ou les conteneurs situés dans le conteneur de boucles For.

Si un package exécute d'autres packages par le biais de la tâche d'exécution de package, les variables définies dans la portée du package appelant ou de la tâche d'exécution de package peuvent être mises à disposition du package appelé à l'aide du type de configuration Variable de package parent. Pour plus d’informations, consultez Package Configurations.

IncludeInDebugDump
Indiquez si la valeur variable est incluse dans les fichiers de vidage de débogage.

Pour les variables système et les variables définies par l’utilisateur, la valeur par défaut pour le InclueInDebugDump option est true.

Toutefois, pour les variables définies par l’utilisateur, le système réinitialise le IncludeInDebugDump option false lorsque les conditions suivantes sont remplies :

  • Si la propriété de variable valuateAsExpression a la valeur true, le système réinitialise l'option IncludeInDebugDump à false.

    Pour inclure le texte de l'expression en tant que valeur variable dans les fichiers de vidage de débogage, affectez la valeur true à l'option IncludeInDebugDump.

  • Si le type de données de variable est changé en une chaîne, le système réinitialise l'option IncludeInDebugDump à false.

Lorsque le système réinitialise l'option IncludeInDebugDump à false, cela peut remplacer la valeur sélectionnée par l'utilisateur.

Valeur
La valeur d'une variable définie par l'utilisateur peut être un littéral ou une expression. Une variable inclut des options permettant de définir la valeur de la variable et le type de données de la valeur. Les deux propriétés doivent être compatibles : par exemple, l'utilisation d'une valeur de chaîne avec un type de données Integer n'est pas valide.

Si la variable est configurée de façon à correspondre à une expression, vous devez fournir une expression. Au moment de l'exécution, l'expression est évaluée et le résultat de l'évaluation est affecté comme valeur de la variable. Par exemple, si une variable utilise l'expression DATEPART("month", GETDATE()) , la valeur de la variable est l'équivalent numérique du mois de la date actuelle. L'expression doit être une expression valide qui utilise la syntaxe de grammaire d'expression SSIS . Lorsqu'une expression est utilisée avec des variables, elle peut utiliser des littéraux et les opérateurs et fonctions fournis par la grammaire d'expression, mais elle ne peut pas faire référence aux colonnes d'un flux de données du package. La longueur maximale d'une expression est limitée à 4 000 caractères. Pour plus d’informations, consultez Integration Services & #40 ; SSIS & #41 ; Expressions.

ValueType

System_CAPS_ICON_note.jpg Remarque


La valeur de propriété s’affiche dans le type de données colonne dans la Variables fenêtre.

Spécifie le type de données de la valeur de la variable.

Vous pouvez définir des propriétés au moyen du concepteur SSIS ou par programmation.

Pour plus d’informations sur les propriétés que vous pouvez définir dans SSIS Concepteur, consultez fenêtre Variables.

Pour en savoir plus sur les propriétés de la variable et pour plus d’informations sur la définition par programme ces propriétés, consultez Variable.

Ajouter, supprimer, modifier l'étendue de la variable définie par l'utilisateur dans un package

Définir les propriétés d'une variable définie par l'utilisateur

Utiliser les valeurs des variables et des paramètres dans un package enfant

Mapper des paramètres de requête à des variables dans un composant de flux de données

Ajouts de la communauté

AJOUTER
Afficher:
© 2016 Microsoft