Variables Integration Services (SSIS)Integration Services (SSIS) Variables

Les variables stockent des valeurs qu'un package SQL ServerSQL Server Integration ServicesIntegration Services et ses conteneurs, tâches et gestionnaires d'événements peuvent utiliser au moment de l'exécution.Variables store values that a SQL ServerSQL Server Integration ServicesIntegration Services package and its containers, tasks, and event handlers can use at run time. Les scripts de la tâche de script et du composant Script peuvent également utiliser des variables.The scripts in the Script task and the Script component can also use 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.The precedence constraints that sequence tasks and containers into a workflow can use variables when their constraint definitions include expressions.

Vous pouvez utiliser des variables dans des packages Integration ServicesIntegration Services pour les opérations suivantes :You can use variables in Integration ServicesIntegration Services packages for the following purposes:

  • Mise à jour de propriétés d'éléments de package au moment de l'exécution.Updating properties of package elements at run time. Par exemple, vous pouvez dynamiquement définir le nombre d'exécutables simultanés qu'un conteneur de boucles Foreach autorise.For example, you can dynamically set the number of concurrent executables that a Foreach Loop container allows.

  • Inclusion d'une table de recherche en mémoire.Including an in-memory lookup table. Par exemple, un package peut exécuter une tâche d'exécution SQL qui charge une variable avec des valeurs de données.For example, a package can run an Execute SQL task that loads a variable with data values.

  • 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.Loading variables with data values and then using them to specify a search condition in a WHERE clause. 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.For example, the script in a Script task can update the value of a variable that is used by a Transact-SQL statement in an Execute SQL task.

  • 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.Loading a variable with an integer and then using the value to control looping within a package control flow. Par exemple, vous pouvez utiliser une variable dans l'expression d'évaluation d'un conteneur de boucles For pour contrôler l'itération.For example, you can use a variable in the evaluation expression of a For Loop container to control iteration.

  • Remplissage de valeurs de paramètres pour des instructions Transact-SQL au moment de l'exécution.Populating parameter values for Transact-SQL statements at run time. 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.For example, a package can run an Execute SQL task and then use variables to dynamically set the parameters in a Transact-SQL statement.

  • Création d'expressions qui incluent des valeurs de variables.Building expressions that include variable values. 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.For example, the Derived Column transformation can populate a column with the result obtained by multiplying a variable value by a column value.

Variables système et variables définies par l'utilisateurSystem and user-defined variables

Integration ServicesIntegration Services prend en charge deux types de variables : les variables définies par l’utilisateur et les variables système. supports two types of variables: user-defined variables and system variables. 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 ServicesIntegration Services.User-defined variables are defined by package developers, and system variables are defined by Integration ServicesIntegration 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.You can create as many user-defined variables as a package requires, but you cannot create additional system variables.

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.All variables—system and user-defined—can be used in the parameter bindings that the Execute SQL task uses to map variables to parameters in SQL statements. Pour plus d’informations, consultez Tache d’exécution de requêtes SQL et Paramètres et codes de retour dans la tâche d’exécution SQL.For more information, see Execute SQL Task and Parameters and Return Codes in the Execute SQL Task.

Note

Les noms des variables définies par l’utilisateur et des variables système respectent la casse.The names of user-defined and system variables are case sensitive.

Vous pouvez créer des variables définies par l’utilisateur pour tous les types de conteneurs Integration ServicesIntegration Services : packages, conteneurs de boucles Foreach, conteneurs de boucles For, conteneurs de séquences, tâches et gestionnaires d’événements.You can create user-defined variables for all Integration ServicesIntegration Services container types: packages, Foreach Loop containers, For Loop containers, Sequence containers, tasks, and event handlers. Les variables définies par l'utilisateur sont des membres de la collection Variables du conteneur.User-defined variables are members of the Variables collection of the container.

Si vous créez le package à l'aide du concepteur SSISSSIS , vous pouvez afficher les membres de la collection Variables dans le dossier Variables sous l'onglet Explorateur de package du concepteur SSISSSIS .If you create the package using SSISSSIS Designer, you can see the members of the Variables collections in the Variables folders on the Package Explorer tab of SSISSSIS Designer. Les dossiers répertorient les variables définies par l'utilisateur et les variables système.The folders list user-defined variables and system variables.

Vous pouvez configurer les variables définies par l'utilisateur de plusieurs manières :You can configure user-defined variables in the following ways:

  • Spécifiez un nom et une description pour la variable.Provide a name and description for the variable.

  • Spécifiez un espace de noms pour la variable.Specify a namespace for the variable.

  • Indiquez si la variable déclenche un événement lorsque sa valeur change.Indicate whether the variable raises an event when its value changes.

  • Indiquez si la variable est en lecture seule ou accessible en lecture/écriture.Indicate whether the variable is read-only or read/write.

  • Utilisez le résultat de l'évaluation d'une expression pour définir la valeur de la variable.Use the evaluation result of an expression to set the variable value.

  • Créez la variable dans la portée du package ou un objet de package tel qu'une tâche.Create the variable in the scope of the package or a package object such as a task.

  • Spécifiez la valeur et le type de données de la variable.Specify the value and data type of the variable.

    La seule option configurable des variables système est le déclenchement d'un événement lorsque leur variable change.The only configurable option on system variables is specifying whether they raise an event when they change value.

    Un ensemble de variables système différent est disponible pour différents types de conteneurs.A different set of system variables is available for different container types. Pour plus d'informations sur les variables système utilisées par les packages et leurs éléments, consultez System Variables.For more information about the system variables used by packages and their elements, see System Variables.

    Pour plus d’informations sur les scénarios d’utilisation concrète des variables, consultez Utiliser des variables dans des packages.For more information about real-life use scenarios for variables, see Use Variables in Packages.

Propriétés des variablesProperties of variables

Vous pouvez configurer les variables définies par l’utilisateur en définissant les propriétés suivantes dans la fenêtre Variables ou la fenêtre Propriétés .You can configure user-defined variables by setting the following properties in either the Variables window or the Properties window. Certaines propriétés sont disponibles uniquement dans la fenêtre Propriétés.Certain properties are available only in the Properties window.

Note

La seule option configurable des variables système est le déclenchement d'un événement lorsque leur variable change.The only configurable option on system variables is specifying whether they raise an event when they change value.

Description Description
Spécifie la description de la variable.Specifies the description of the variable.

EvaluateAsExpression EvaluateAsExpression
Quand la propriété a la valeur True, l’expression fournie est utilisée pour définir la valeur de la variable.When the property is set to True, the expression provided is used to set the variable value.

Expression Expression
Spécifie l'expression affectée à la variable.Specifies the expression that is assigned to the variable.

Nom Name
Spécifie le nom de la variable.Specifies the variable name.

Espace de nomsNamespace
Integration ServicesIntegration Services fournit deux espaces de noms, User et System. provides two namespaces, User and System. 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 .By default, custom variables are in the User namespace, and system variables are in the System namespace. Vous pouvez créer des espaces de noms supplémentaires pour les variables définies par l’utilisateur et changer le nom de l’espace de noms User , mais vous ne pouvez pas modifier le nom de l’espace de noms System , ajouter des variables à l’espace de noms System , ni affecter des variables système à un autre espace de noms.You can create additional namespaces for user-defined variables and change the name of the User namespace, but you cannot change the name of the System namespace, add variables to the System namespace, or assign system variables to a different namespace.

RaiseChangedEventRaiseChangedEvent
Quand la propriété a la valeur True, l’événement OnVariableValueChanged est déclenché en cas de changement de la valeur de la variable.When the property is set to True, the OnVariableValueChanged event is raised when the variable changes value.

En lecture seuleReadOnly
Quand la propriété a la valeur False, la variable est en lecture-écriture.When the property is set to False, the variable is read\write.

PortéeScope

Note

Vous pouvez modifier ce paramètre de propriété uniquement en cliquant sur Déplacer la variable dans la fenêtre Variables .You can change this property setting only by clicking Move Variable in the Variables window.

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.A variable is created within the scope of a package or within the scope of a container, task, or event handler in the 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.Because the package container is at the top of the container hierarchy, variables with package scope function like global variables and can be used by all containers in the 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.Similarly, variables defined within the scope of a container such as a For Loop container can be used by all tasks or containers within the For Loop container.

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.If a package runs other packages by using the Execute Package task, the variables defined in the scope of the calling package or the Execute Package task can be made available to the called package by using the Parent Package Variable configuration type. Pour plus d’informations, consultez Package Configurations.For more information, see Package Configurations.

IncludeInDebugDumpIncludeInDebugDump
Indiquez si la valeur variable est incluse dans les fichiers de vidage de débogage.Indicate whether the variable value is included in the debug dump files.

Pour les variables définies par l’utilisateur et les variables système, la valeur par défaut de l’option InclueInDebugDump est true.For user-defined variables and system variables, the default value for the InclueInDebugDump option is true.

Toutefois, pour les variables définies par l’utilisateur, le système réinitialise l’option IncludeInDebugDump avec la valeur false quand les conditions suivantes sont remplies :However, for user-defined variables, the system resets the IncludeInDebugDump option to false when the following conditions are met:

  • Si la propriété de variable valuateAsExpression a la valeur true, le système réinitialise l'option IncludeInDebugDump à false.If the EvaluateAsExpression variable property is set to true, the system resets the IncludeInDebugDump option to 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.To include the text of the expression as the variable value in the debug dump files, set the IncludeInDebugDump option to true.

  • Si le type de données de variable est changé en une chaîne, le système réinitialise l'option IncludeInDebugDump à false.If the variable data type is changed to a string, the system resets the IncludeInDebugDump option to false.

    Lorsque le système réinitialise l'option IncludeInDebugDump à false, cela peut remplacer la valeur sélectionnée par l'utilisateur.When the system resets the IncludeInDebugDump option to false, this might override the value selected by the user.

Value Value
La valeur d'une variable définie par l'utilisateur peut être un littéral ou une expression.The value of a user-defined variable can be a literal or an expression. La valeur d’une variable ne peut pas être Null.The value of a variable can't be null. Les variables ont les valeurs par défaut suivantes :Variables have the following default values:

Type de donnéesData type Valeur par défautDefault value
BooléenBoolean FalseFalse
Types de données numérique et binaireNumeric and binary data types 0 (zéro)0 (zero)
Types de données de caractère et de chaîneChar and string data types (chaîne vide)(empty string)
ObjectObject System.ObjectSystem.Object

Une variable a des options permettant de définir la valeur de la variable et le type de données de la valeur.A variable has options for setting the variable value and the data type of the value. 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.The two properties must be compatible: for example, the use of a string value together with an integer data type is not valid.

Si la variable est configurée de façon à correspondre à une expression, vous devez fournir une expression.If the variable is configured to evaluate as an expression, you must provide an 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.At run time, the expression is evaluated, and the variable is set to the evaluation result. 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.For example, if a variable uses the expression DATEPART("month", GETDATE()) the value of the variable is the number equivalent of the month for the current date. L'expression doit être une expression valide qui utilise la syntaxe de grammaire d'expression SSISSSIS .The expression must be a valid expression that uses the SSISSSIS expression grammar syntax. 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.When an expression is used with variables, the expression can use literals and the operators and functions that the expression grammar provides, but the expression cannot reference the columns from a data flow in the package. La longueur maximale d'une expression est limitée à 4 000 caractères.The maximum length of an expression is 4000 characters. Pour plus d’informations, consultez Expressions Integration Services (SSIS).For more information, see Integration Services (SSIS) Expressions.

ValueTypeValueType

Note

La valeur de la propriété apparaît dans la colonne Type de données de la fenêtre Variables .The property value appears in the Data type column in the Variables window.

Spécifie le type de données de la valeur de la variable.Specifies the data type of the variable value.

Scénarios d’utilisation des variablesScenarios for using variables

Les variables sont utilisées de nombreuses manières différentes dans les packages Integration ServicesIntegration Services .Variables are used in many different ways in Integration ServicesIntegration Services packages. Vous constaterez sans doute que le développement de package est limité tant que vous n'avez pas ajouté une variable définie par l'utilisateur à votre package pour mettre en œuvre la flexibilité et la gestion nécessaires à votre solution.You will probably find that package development does not progress far before you have to add a user-defined variable to your package to implement the flexibility and manageability your solution requires. En fonction du scénario, les variables système sont aussi couramment utilisées.Depending on the scenario, system variables are also commonly used.

Expressions de propriété : les variables permettent de fournir des valeurs dans les expressions de propriété qui définissent les propriétés d’objets de package et de packages.Property Expressions Use variables to provide values in the property expressions that set the properties of packages and package objects. Par exemple, l’expression SELECT * FROM @varTableName inclut la variable varTableName qui met à jour l’instruction SQL exécutée par une tâche d’exécution SQL.For example, the expression, SELECT * FROM @varTableName includes the variable varTableName that updates the SQL statement that an Execute SQL task runs. L’expression DATEPART("d", GETDATE()) == 1? @[User::varPackageFirst]:@[User::varPackageOther]met à jour le package exécuté par la tâche d’exécution de package en exécutant le package spécifié dans la variable varPackageFirst le premier jour du mois et en exécutant le package spécifié dans la variable varPackageOther les autres jours.The expression, DATEPART("d", GETDATE()) == 1? @[User::varPackageFirst]:@[User::varPackageOther]", updates the package that the Execute Package task runs, by running the package specified in the varPackageFirst variable on the first day of the month and running the package specified in the varPackageOther variable on other days. Pour plus d’informations, consultez Expressions de propriété dans des packages.For more information, see Use Property Expressions in Packages.

Expressions de flux de données : les variables permettent de fournir des valeurs dans les expressions dont se servent les transformations de fractionnement conditionnel et de colonne dérivée pour remplir les colonnes ou diriger les lignes de données vers différentes sorties de transformation.Data Flow Expressions Use variables to provide values in the expressions that the Derived Column and Conditional Split transformations use to populate columns, or to direct data rows to different transformation outputs. Par exemple, l'expression @varSalutation + LastNameconcatène la valeur dans la variable VarSalutation et la colonne LastName .For example, the expression, @varSalutation + LastName, concatenates the value in the VarSalutation variable and the LastName column. L’expression Income < @HighIncome dirige vers une sortie les lignes de données dans lesquelles la valeur de la colonne Income est inférieure à la valeur de la variable HighIncome.The expression, Income < @HighIncome, directs data rows in which the value of the Income column is less than the value in the HighIncome variable to an output. Pour plus d’informations, consultez Transformation de colonne dérivée, Transformation de fractionnement conditionnel et Expressions Integration Services (SSIS).For more information, see Derived Column Transformation, Conditional Split Transformation, and Integration Services (SSIS) Expressions.

Expressions de contrainte de précédence : elles fournissent les valeurs à utiliser dans des contraintes de précédence pour déterminer si un exécutable contraint s’exécute.Precedence Constraint Expressions Provide values to use in precedence constraints to determine whether a constrained executable runs. Les expressions peuvent être utilisées avec un résultat d'exécution (succès, échec, achèvement de l'opération) ou à la place d'un résultat d'exécution.The expressions can be used either together with an execution outcome (success, failure, completion), or instead of an execution outcome. Par exemple, si l’expression @varMax > @varMinest évalué à true, l’exécutable s’exécute.For example, if the expression, @varMax > @varMin, evaluates to true, the executable runs. Pour plus d’informations, consultez Ajouter des expressions aux contraintes de précédence.For more information, see Add Expressions to Precedence Constraints.

Paramètres et codes de retour : ils fournissent des valeurs aux paramètres d’entrée ou stockent les valeurs des paramètres de sortie et des codes de retour.Parameters and Return Codes Provide values to input parameters, or store the values of output parameters and return codes. Cette opération s'effectue en mappant les variables aux paramètres et aux valeurs de retour.You do this by mapping the variables to parameters and return values. Par exemple, si vous affectez à la variable varProductId la valeur 23 et que vous exécutez l’instruction SQL SELECT * from Production.Product WHERE ProductID = ?, la requête récupère le produit associé à la valeur ProductID 23.For example, if you set the variable varProductId to 23 and run the SQL statement, SELECT * from Production.Product WHERE ProductID = ?, the query retrieves the product with a ProductID of 23. Pour plus d’informations, consultez Tache d’exécution de requêtes SQL et Paramètres et codes de retour dans la tâche d’exécution SQL.For more information, see Execute SQL Task and Parameters and Return Codes in the Execute SQL Task.

Expressions de boucle For : elles fournissent les valeurs à utiliser dans les expressions d’initialisation, d’évaluation et d’assignation de la boucle For.For Loop Expressions Provide values to use in the initialization, evaluation, and assignment expressions of the For Loop. Par exemple, si la variable varCount a la valeur 2 et la variable varMaxCount la valeur 10 et que l’expression d’initialisation est @varCount, l’expression d’évaluation @varCount < @varMaxCountet l’expression d’assignation @varCount =@varCount +1, la boucle se répète 8 fois.For example, if the variable varCount is 2 and varMaxCount is 10, the initialization expression is @varCount, the evaluation expression is @varCount < @varMaxCount, and the assignment expression is @varCount =@varCount +1, then the loop repeats 8 times. Pour plus d’informations, consultez Conteneur de boucles For.For more information, see For Loop Container.

Configurations de variable de package parent : elles permettent de passer des valeurs des packages parents aux packages enfants.Parent Package Variable Configurations Pass values from parent packages to child packages. Les packages enfants peuvent accéder à des variables dans le package parent à l'aide de configurations de variable de package parent.Child packages can access variables in the parent package by using parent package variable configurations. Par exemple, si le package enfant doit utiliser la même date que le package parent, le package enfant peut définir une configuration de variable de package parent qui spécifie une variable définie par la fonction GETDATE dans le package parent.For example, if the child package must use the same date as the parent package, the child package can define a parent package variable configuration that specifies a variable set by the GETDATE function in the parent package. Pour plus d’informations, consultez Tâche d’exécution de package et Configurations de package.For more information, see Execute Package Task and Package Configurations.

Tâche de script et composant de script : ils fournissent une liste de variables en lecture seule et en lecture/écriture à la tâche de script ou au composant de script, mettent à jour les variables en lecture/écriture dans le script, puis utilisent les valeurs mises à jour à l’intérieur ou à l’extérieur du script.Script Task and Script Component Provide a list of read-only and read/write variable to the Script task or Script component, update the read/write variables within the script, and then use the updated values in or outside the script. Par exemple, dans le code numberOfCars = CType(Dts.Variables("NumberOfCars").Value, Integer), la variable de script numberOfCars est mise à jour par la valeur dans la variable NumberOfCars.For example, in the code, numberOfCars = CType(Dts.Variables("NumberOfCars").Value, Integer), the script variable numberOfCars is updated by the value in the variable, NumberOfCars. Pour plus d’informations, consultez Utilisation de variables dans la tâche de script.For more information, see Using Variables in the Script Task.

Ajouter une variableAdd a variable

  1. Dans Outils de données SQL Server (SSDT)SQL Server Data Tools (SSDT), ouvrez le package Integration ServicesIntegration Services que vous voulez utiliser.In Outils de données SQL Server (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services package you want to work with.

  2. Dans l'Explorateur de solutions, double-cliquez sur le package pour l'ouvrir.In Solution Explorer, double-click the package to open it.

  3. Dans le concepteur SSISSSIS , pour définir la portée de la variable, effectuez l'une des opérations suivantes :In SSISSSIS Designer, to define the scope of the variable, do one of the following:

    • Pour définir la portée du package, cliquez n’importe où sur l’aire de conception de l’onglet Flux de contrôle .To set the scope to the package, click anywhere on the design surface of the Control Flow tab.

    • Pour définir la portée d’un gestionnaire d’événements, sélectionnez un exécutable et un gestionnaire d’événements sur l’aire de conception de l’onglet Gestionnaire d’événements .To set the scope to an event handler, select an executable and an event handler on the design surface of the Event Handler tab.

    • Pour définir la portée d’une tâche ou d’un conteneur, cliquez sur une tâche ou un conteneur sur l’aire de conception de l’onglet Flux de contrôle ou de l’onglet Gestionnaire d’événements .To set the scope to a task or container, on the design surface of the Control Flow tab or the Event Handler tab, click a task or container.

  4. Dans le menu SSIS , cliquez sur Variables.On the SSIS menu, click Variables. Vous pouvez éventuellement afficher la fenêtre Variables en mappant la commande View.Variables avec une combinaison de clés de votre choix dans la page Clavier de la boîte de dialogue Options .You can optionally display the Variables window by mapping the View.Variables command to a key combination of your choosing on the Keyboard page of the Options dialog box.

  5. Dans la fenêtre Variables , cliquez sur l’icône Ajouter une variable .In the Variables window, click the Add Variable icon. La nouvelle variable est ajoutée à la liste.The new variable is added to the list.

  6. Dans la boîte de dialogue Options de la grille , sélectionnez des colonnes supplémentaires à afficher dans la boîte de dialogue Options de la grille de variables , puis cliquez sur OK.Optionally, click the Grid Options icon, select additional columns to show in the Variables Grid Options dialog box, and then click OK.

  7. Éventuellement, définissez les propriétés d'une variable.Optionally, set the variable properties. Pour plus d’informations, consultez Définir les propriétés d’une variable définie par l’utilisateur.For more information, see Set the Properties of a User-Defined Variable.

  8. Pour enregistrer le package mis à jour, cliquez sur Enregistrer les éléments sélectionnés dans le menu Fichier .To save the updated package, click Save Selected Items on the File menu.

Ajouter une variable, boîte de dialogueAdd Variable dialog box

Utilisez la boîte de dialogue Ajouter une variable pour spécifier les propriétés d'une nouvelle variable.Use the Add Variable dialog box to specify the properties of a new variable.

OptionsOptions

ConteneurContainer
Sélectionnez un conteneur dans la liste.Select a container in the list. Le conteneur définit l'étendue de la variable.The container defines the scope of the variable. Le conteneur peut être le package ou un exécutable du package.The container can be either the package or an executable in the package.

NomName
Entrez le nom de la variable.Type the variable name.

Espace de nomsNamespace
Spécifiez l'espace de noms de la variable.Specify the namespace of the variable. Par défaut, les variables définies par l’utilisateur sont dans l’espace de noms Utilisateur .By default, user-defined variables are in the User namespace.

Type de valeurValue type
Sélectionnez un type de données.Select a data type.

ValueValue
Tapez une valeur.Type a value. La valeur doit être compatible avec le type de données spécifié dans l'option Type de valeur .The value must be compatible with the data type specified in the Value type option.

Lecture seuleRead-only
Sélectionnez cette option pour que la variable soit en lecture seule.Select to make the variable read-only.

Supprimer une variableDelete a variable

  1. Dans Outils de données SQL Server (SSDT)SQL Server Data Tools (SSDT), ouvrez le projet Integration ServicesIntegration Services contenant le package souhaité.In Outils de données SQL Server (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le package pour l'ouvrir.In Solution Explorer, right-click the package to open it.

  3. Dans le menu SSIS , cliquez sur Variables.On the SSIS menu, click Variables. Vous pouvez éventuellement afficher la fenêtre Variables en mappant la commande View.Variables avec une combinaison de clés de votre choix dans la page Clavier de la boîte de dialogue Options .You can optionally display the Variables window by mapping the View.Variables command to a key combination of your choosing on the Keyboard page of the Options dialog box.

  4. Sélectionnez la variable à supprimer, puis cliquez sur Supprimer la variable.Select the variable to delete, and then click Delete Variable.

    Si vous ne voyez pas la variable dans la fenêtre variables, cliquez sur Options de la grille puis sélectionnez Afficher les variables de toutes les étendues.If you don’t see the variable in the Variables window, click Grid Options and then select Show variables of all scopes.

  5. Si la boîte de dialogue Confirmer la suppression des variables apparaît, cliquez sur Oui pour confirmer.If the Confirm Deletion of Variables dialog box opens, click Yes to confirm.

  6. Pour enregistrer le package mis à jour, cliquez sur Enregistrer les éléments sélectionnés dans le menu Fichier .To save the updated package, click Save Selected Items on the File menu.

Modifier l’étendue d’une variableChange the scope of a variable

  1. Dans Outils de données SQL Server (SSDT)SQL Server Data Tools (SSDT), ouvrez le projet Integration ServicesIntegration Services contenant le package souhaité.In Outils de données SQL Server (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le package pour l'ouvrir.In Solution Explorer, right-click the package to open it.

  3. Dans le menu SSIS , cliquez sur Variables.On the SSIS menu, click Variables. Vous pouvez éventuellement afficher la fenêtre Variables en mappant la commande View.Variables avec une combinaison de clés de votre choix dans la page Clavier de la boîte de dialogue Options .You can optionally display the Variables window by mapping the View.Variables command to a key combination of your choosing on the Keyboard page of the Options dialog box.

  4. Sélectionnez la variable, puis cliquez sur Déplacer la variable.Select the variable and then click Move Variable.

    Si vous ne voyez pas la variable dans la fenêtre variables, cliquez sur Options de la grille puis sélectionnez Afficher les variables de toutes les étendues.If you don’t see the variable in the Variables window, click Grid Options and then select Show variables of all scopes.

  5. Dans la boîte de dialogue Sélectionner une nouvelle étendue , sélectionnez le package ou un conteneur, une tâche ou un gestionnaire d'événements dans le package pour modifier l'étendue de la variable.In the Select New Scope dialog box, select the package or a container, task, or event handler in the package, to change the variable scope.

  6. Pour enregistrer le package mis à jour, cliquez sur Enregistrer les éléments sélectionnés dans le menu Fichier .To save the updated package, click Save Selected Items on the File menu.

Définir les propriétés d'une variable définie par l'utilisateurSet the properties of a user-defined variable

Pour définir les propriétés d'une variable définie par l'utilisateur dans Integration ServicesIntegration Services, vous pouvez utiliser l'une des fonctionnalités suivantes :To set the properties of a user-defined variable in Integration ServicesIntegration Services, you can use one of the following features:

  • Fenêtre Variables.Variables window.

  • Fenêtre Propriétés.Properties window. La fenêtre Propriétés répertorie les propriétés pour la configuration des variables qui ne sont pas disponibles dans la fenêtre Variables : Description, EvaluateAsExpression, Expression, ReadOnly, ValueType et IncludeInDebugDump.The Properties window lists properties for configuring variables that are not available in the Variables window: Description, EvaluateAsExpression, Expression, ReadOnly, ValueType, and IncludeInDebugDump.

Note

Integration ServicesIntegration Services fournit également un ensemble de variables système dont les propriétés ne peuvent pas être mises à jour, à l’exception de la propriété RaiseChangedEvent. also provides a set of system variables whose properties cannot be updated, with the exception of the RaiseChangedEvent property.

Définir des expressions dans des variablesSet expressions on variables

Quand vous utilisez la fenêtre Propriétés pour définir des expressions sur une variable définie par l’utilisateur :When you use the Properties window to set expressions on a user-defined variable:

  • La valeur d’une variable peut être définie par la propriété Valeur ou la propriété Expression.The value of a variable can be set by the Value or the Expression property. Par défaut, la propriété EvaluateAsExpression a la valeur False et la valeur de la variable est définie par la propriété Valeur.By default, the EvaluateAsExpression property is set to False and the value of the variable is set by the Value property. Pour utiliser une expression pour définir la valeur, vous devez commencer par définir EvaluateAsExpression sur True, puis fournir une expression dans la propriété Expression.To use an expression to set the value, you must first set EvaluateAsExpression to True, and then provide an expression in the Expression property. Le résultat de l’évaluation de l’expression est automatiquement affecté à la propriété Valeur.The Value property is automatically set to the evaluation result of the expression.

  • La propriété ValueType contient le type de données de la valeur de la propriété Valeur.The ValueType property contains the data type of the value in the Value property. Quand Valeur est définie par une expression, ValueType est automatiquement mis à jour avec un type de données compatible avec le résultat de l’évaluation de l’expression.When Value is set by an expression, ValueType is automatically updated to a data type that is compatible with the evaluation result of the expression. Par exemple, si Valeur contient 0 et la propriété ValueType contient Int32 , et que vous définissez ensuite Expression à GETDATE(), Valeur contient la date et l’heure et ValueType est défini sur DateTime.For example, if Value contains 0 and ValueType property contains Int32 and you then set Expression to GETDATE(), Value contains the current date and time and ValueType is set to DateTime.

  • La fenêtre Propriétés pour la variable permet d’accéder à la boîte de dialogue Générateur d’expressions .The Properties window for the variable provides access to the Expression Builder dialog box. Vous pouvez utiliser cet outil pour créer, valider et évaluer des expressions.You can use this tool to build, validate, and evaluate expressions. Pour plus d’informations, consultez Générateur d’expressions et Expressions Integration Services (SSIS).For more information, see Expression Builder and Integration Services (SSIS) Expressions.

    Quand vous utilisez la fenêtre Variables pour définir des expressions sur une variable définie par l’utilisateur :When you use the Variables window to set expressions on a user-defined variable:

  • Pour utiliser une expression pour définir la valeur de la variable, vérifiez d’abord que le type de variable est compatible avec le résultat de l’évaluation de l’expression et fournissez ensuite une expression dans la colonne Expression de la fenêtre Variables .To use an expression to set the variable value, first confirm that the variable data type is compatible with the evaluation result of the expression and then provide an expression in the Expression column of the Variables window. La propriété EvaluateAsExpression dans la fenêtre Propriétés est définie automatiquement sur True.The EvaluateAsExpression property in the Properties window is automatically set to True.

  • Lorsque vous affectez une expression à une variable, un marqueur spécial sous la forme d'une icône s'affiche en regard de la variable.When you assign an expression to a variable, a special icon marker displays next to the variable. Ce marqueur d'icône spécial s'affiche également en regard des gestionnaires de connexions et des tâches contenant des expressions.This special icon marker also displays next to connection managers and tasks that have expressions set on them.

  • La fenêtre Variables pour la variable permet d’accéder à la boîte de dialogue Générateur d’expressions .The Variables window for the variable provides access to the Expression Builder dialog box. Vous pouvez utiliser cet outil pour créer, valider et évaluer des expressions.You can use this tool to build, validate, and evaluate expressions. Pour plus d’informations, consultez Générateur d’expressions et Expressions Integration Services (SSIS).For more information, see Expression Builder and Integration Services (SSIS) Expressions.

    Dans les fenêtres Variables et Propriétés, si vous affectez une expression à la variable et que EvaluateAsExpression est défini sur True, vous ne pouvez pas changer le type de données de la variable.In both the Variables and Properties window, if you assign an expression to the variable, and EvaluateAsExpression is set to True, you cannot change the variable data type.

Définir les propriétés Espace de noms et NomSet the Namespace and Name properties

La valeur des propriétés Nom et Espace de noms doit commencer par une lettre de l’alphabet, conformément à la convention Unicode Standard 2.0, ou par un trait de soulignement ().The values of the Name and Namespace properties must begin with an alphabetic character letter as defined by the Unicode Standard 2.0, or an underscore (). Les caractères suivants peuvent être des lettres ou des chiffres, conformément à la convention Unicode standard 2.0, ou un trait de soulignement (_).Subsequent characters can be letters or numbers as defined in the Unicode Standard 2.0, or the underscore (_).

Définir les propriétés de la variable dans la fenêtre VariablesSet Variable Properties in the Variables Window

  1. Dans Outils de données SQL Server (SSDT)SQL Server Data Tools (SSDT), ouvrez le projet Integration ServicesIntegration Services contenant le package souhaité.In Outils de données SQL Server (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le package pour l'ouvrir.In Solution Explorer, right-click the package to open it.

  3. Dans le menu SSIS , cliquez sur Variables.On the SSIS menu, click Variables.

    Vous pouvez éventuellement afficher la fenêtre Variables en mappant la commande View.Variables avec une combinaison de clés de votre choix dans la page Clavier de la boîte de dialogue Options .You can optionally display the Variables window by mapping the View.Variables command to a key combination of your choosing on the Keyboard page of the Options dialog box.

  4. Éventuellement, dans la fenêtre Variables cliquez sur Options de la grille, puis sélectionnez les colonnes qui apparaissent dans la fenêtre Variables et sélectionnez les filtres à appliquer à la liste des variables.Optionally, in the Variables window click Grid Options, and then select the columns to appear in the Variables window and select the filters to apply to the list of variables.

  5. Sélectionnez la variable dans la liste, puis mettez à jour les valeurs dans les colonnes Nom, Type de données, Valeur, Espace de noms, Déclencher un événement de modification, Description et Expression .Select the variable in the list, and then update values in the Name, Data Type, Value, Namespace, Raise Change Event, Description, and Expression columns.

  6. Sélectionnez la variable dans la liste, puis cliquez sur Déplacer la variable pour modifier l’étendue.Select the variable in the list, and then click Move Variable to change the scope.

  7. Pour enregistrer le package mis à jour, dans le menu Fichier , cliquez sur Enregistrer les éléments sélectionnés.To save the updated package, on the File menu, click Save Selected Items.

Définir les propriétés de la variable dans la fenêtre PropriétésSet Variable Properties in the Properties Window

  1. Dans Outils de données SQL Server (SSDT)SQL Server Data Tools (SSDT), ouvrez le projet Integration ServicesIntegration Services contenant le package souhaité.In Outils de données SQL Server (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le package pour l'ouvrir.In Solution Explorer, right-click the package to open it.

  3. Dans le menu Affichage , cliquez sur Fenêtre Propriétés.On the View menu, click Properties Window.

  4. Dans le Concepteur SSISSSIS , cliquez sur l’onglet Explorateur de package , puis développez le nœud Package.In SSISSSIS Designer, click the Package Explorer tab and expand the Package node.

  5. Pour modifier les variables avec une portée de package, développez le nœud Variables. Sinon, développez les nœuds Gestionnaires d'événements ou Exécutables jusqu'à ce que vous trouviez le nœud Variables contenant la variable que vous voulez modifier.To modify variables with package scope, expand the Variables node; otherwise, expand the Event Handlers or Executables nodes until you locate the Variables node that contains the variable that you want to modify.

  6. Cliquez sur la variable dont vous souhaitez modifier les propriétés.Click the variable whose properties you want to modify.

  7. Dans la fenêtre Propriétés , mettez à jour les propriétés en lecture/écriture de la variable.In the Properties window, update the read/write variable properties. Certaines propriétés sont en lecture/lecture uniquement pour les variables définies par l'utilisateur.Some properties are read/read only for user-defined variables.

    Pour plus d’informations sur les propriétés, consultez Variables Integration Services (SSIS).For more information about the properties, see Integration Services (SSIS) Variables.

  8. Pour enregistrer le package mis à jour, dans le menu Fichier , cliquez sur Enregistrer les éléments sélectionnés.To save the updated package, on the File menu, click Save Selected Items.

Mettre à jour une variable de manière dynamique avec des configurationsUpdate a variable dynamically with configurations

Pour mettre à jour dynamiquement des variables, vous pouvez créer des configurations pour les variables, déployer les configurations dans le package, puis mettre à jour les valeurs de variable dans un fichier de configuration lorsque vous déployez les packages.To dynamically update variables, you can create configurations for the variables, deploy the configurations with the package, and then update the variable values in the configuration file when you deploy the packages. À l'exécution, le package utilise les valeurs de variable mises à jour.At run time, the package uses the updated variable values. Pour plus d’informations, consultez Créer des configurations de package.For more information, see Create Package Configurations.

Utiliser les valeurs des variables et des paramètres dans un package enfantUse the Values of Variables and Parameters in a Child Package

Mapper des paramètres de requête à des variables dans un composant de flux de donnéesMap Query Parameters to Variables in a Data Flow Component