Partager via


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.

Icône Integration Services (petite) Rester à jour avec Integration Services

Pour obtenir les derniers téléchargements, articles, exemples et vidéos de Microsoft, ainsi que des solutions sélectionnées par la communauté, visitez la page Integration Services sur MSDN :


Pour recevoir une notification automatique de ces mises à jour, abonnez-vous aux flux RSS disponibles sur la page.

Voir aussi

Tâches

Utiliser des variables dans des packages

Concepts

Variables Integration Services (SSIS)