Utilisation de variables dans le composant Script
Les variables stockent les valeurs qu'un package et ses conteneurs, tâches et gestionnaires d'événements peuvent utiliser au moment de l'exécution. Pour plus d'informations, consultez Variables Integration Services (SSIS).
Vous pouvez rendre des variables existantes accessibles en lecture seule ou en lecture/écriture par votre script personnalisé en entrant des listes délimitées par des virgules de variables dans les champs ReadOnlyVariables et ReadWriteVariables de la page Script de l'Éditeur de transformation de script. N'oubliez pas que les noms de variables respectent la casse. Utilisez la propriété Value pour lire et écrire des variables individuelles. Le composant Script gère tout le verrouillage sous-jacent requis quand votre script manipule les variables au moment de l'exécution.
Important
La collection de ReadWriteVariables est uniquement disponible dans la méthode PostExecute pour maximiser les performances et réduire le risque de conflits de verrouillage. Par conséquent, vous ne pouvez pas incrémenter directement la valeur d'une variable de package à mesure que vous traitez chaque ligne de données. Incrémentez plutôt la valeur d'une variable locale, puis définissez la valeur de la variable de package sur la valeur de la variable locale dans la méthode PostExecute une fois que toutes les données ont été traitées. Vous pouvez également utiliser la propriété VariableDispenser pour contourner cette limitation, comme décrit ultérieurement dans cette rubrique. Toutefois, l'écriture directe dans une variable de package au fut et à mesure du traitement de chaque ligne aura des effets négatifs sur les performances et augmentera le risque de conflits de verrouillage.
Pour plus d'informations sur la page Script de l'Éditeur de transformation de script, consultez Configuration du composant Script dans l'éditeur de composant de script et Éditeur de transformation de script (page Script).
Le composant Script crée une classe de collection Variables dans l'élément de projet ComponentWrapper avec une propriété d'accesseur fortement typé pour la valeur de chaque variable préconfigurée où la propriété porte le même nom que la variable elle-même. Cette collection est exposée via la propriété Variables de la classe ScriptMain. La propriété de l'accesseur fournit une autorisation de lecture seule ou de lecture/écriture à la valeur de la variable. Par exemple, si vous avez ajouté qu'une variable de type entier nommée MyIntegerVariable à la liste ReadOnlyVariables, vous pouvez extraire sa valeur dans votre script en utilisant le code suivant :
Dim myIntegerVariableValue As Integer = Me.Variables.MyIntegerVariable
Vous pouvez également utiliser la propriété VariableDispenser, accessible en appelant Me.VariableDispenser, pour utiliser des variables dans le composant Script. Dans ce cas, vous n'utilisez pas les propriétés de l'accesseur typé et nommé pour les variables, mais vous accédez directement aux variables. Lorsque vous utilisez la propriété VariableDispenser, vous devez gérer à la fois la sémantique de verrouillage et la conversion des types de données pour les valeurs de variables dans votre propre code. Vous devez utiliser la propriété VariableDispenser au lieu des propriétés de l'accesseur nommé et typé si vous souhaitez utiliser une variable qui n'est pas disponible au moment du design mais qui est créée par programme au moment de l'exécution.
|
Voir aussi
Tâches
Utiliser des variables dans des packages