Variables système

SQL ServerIntegration Services fournit un ensemble de variables système qui stockent des informations sur le package en cours d'exécution et ses objets. Ces variables peuvent être utilisées dans des expressions et des propriétés d'expressions afin de personnaliser des packages, des conteneurs, des tâches et des gestionnaires d'événements.

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.

Variables système pour les packages

Le tableau suivant décrit les variables système fournies par Integration Services pour les packages.

Variable système

Type de données

Description

CancelEvent

Int32

Gestionnaire d'un objet d'événement Windows que la tâche peut signaler pour indiquer que la tâche doit interrompre son exécution.

CreationDate

DateTime

Date de création du package.

CreatorComputerName

String

Ordinateur sur lequel le package a été créé.

CreatorName

String

Nom de la personne qui a créé le package.

ExecutionInstanceGUID

String

Identificateur unique de l'instance exécutée d'un package.

InteractiveMode

Booléen

Indique si le package est exécuté en mode interactif. Si un package s'exécute dans le concepteur SSIS, cette propriété a la valeur True. Si un package s'exécute par le biais de l'utilitaire de ligne de commande DTExec, la propriété a la valeur False.

LocaleId

Int32

Paramètre régional utilisé par le package.

MachineName

String

Nom de l'ordinateur sur lequel s'exécute le package.

OfflineMode

Booléen

Indique si le package est en mode hors connexion. Le mode hors connexion n'acquiert pas de connexions à des sources de données.

PackageID

String

Identificateur unique du package.

PackageName

String

Nom du package.

StartTime

DateTime

Heure de début d'exécution du package.

UserName

String

Compte de l'utilisateur qui a démarré le package. Le nom d'utilisateur est qualifié par le nom de domaine.

VersionBuild

Int32

Version du package.

VersionComment

String

Commentaires sur la version du package.

VersionGUID

String

Identificateur unique de la version.

VersionMajor

Int32

Version principale du package.

VersionMinor

Int32

Version secondaire du package.

Variables système pour les conteneurs

Le tableau suivant décrit les variables système fournies par Integration Services pour les conteneurs de boucles For, de boucles Foreach et de séquence.

Variable système

Type de données

Description

Conteneur

LocaleId

Int32

Paramètre régional utilisé par le conteneur.

Conteneur de boucles For

Conteneur de boucles Foreach

Conteneur de séquence

Variables système pour les tâches

Le tableau suivant décrit les variables système fournies par Integration Services pour les tâches.

Variable système

Type de données

Description

CreationName

String

Nom de la tâche.

LocaleId

Int32

Paramètre régional utilisé par la tâche.

TaskID

String

Identificateur unique d'une instance de tâche.

TaskName

String

Nom de l'instance de tâche.

TaskTransactionOption

Int32

Option de transaction utilisée par la tâche.

Variables système pour les gestionnaires d'événements

Le tableau suivant décrit les variables système fournies par Integration Services pour les gestionnaires d'événements. Toutes les variables ne sont pas disponibles pour tous les gestionnaires d'événements.

Variable système

Type de données

Description

Gestionnaire d'événements

Cancel

Booléen

Indique si l'exécution du gestionnaire d'événements s'arrête lorsqu'une erreur, un avertissement ou une annulation de requête se produit.

Gestionnaire d'événements OnError

Gestionnaire d'événements OnWarning

Gestionnaire d'événements OnQueryCancel

ErrorCode

Int32

Identificateur de l'erreur.

Gestionnaire d'événements OnError

Gestionnaire d'événements OnInformation

Gestionnaire d'événements OnWarning

ErrorDescription

String

Description de l'erreur.

Gestionnaire d'événements OnError

Gestionnaire d'événements OnInformation

Gestionnaire d'événements OnWarning

ExecutionStatus

Booléen

État de l'exécution en cours.

Gestionnaire d'événements OnExecStatusChanged

ExecutionValue

DBNull

Valeur de l'exécution.

Gestionnaire d'événements OnTaskFailed

LocaleId

Int32

Paramètre régional utilisé par le gestionnaire d'événements.

Tous les gestionnaires d'événements

PercentComplete

Int32

Pourcentage de travail terminé.

Gestionnaire d'événements OnProgress

ProgressCountHigh

Int32

Partie supérieure d'une valeur 64 bits qui indique le nombre total d'opérations traitées par l'événement OnProgress.

Gestionnaire d'événements OnProgress

ProgressCountLow

Int32

Partie inférieure d'une valeur 64 bits qui indique le nombre total d'opérations traitées par l'événement OnProgress.

Gestionnaire d'événements OnProgress

ProgressDescription

String

Description de la progression.

Gestionnaire d'événements OnProgress

Propagate

Booléen

Indique si l'événement est propagé à un gestionnaire d'événements de niveau supérieur.

RemarqueRemarque
La valeur de la variable Propagate est ignorée lors de la validation du package. Si vous affectez la valeur False à Propagate dans un package enfant, cela n'empêche pas la propagation d'un événement à un package parent. Pour empêcher le package parent de gérer l'événement, affectez la valeur True à la propriété DisableEventHandlers de la tâche d'exécution de package.

Tous les gestionnaires d'événements

SourceDescription

String

Description de l'exécutable dans le gestionnaire d'événements qui a déclenché l'événement.

Tous les gestionnaires d'événements

SourceID

String

Identificateur unique de l'exécutable dans le gestionnaire d'événements qui a déclenché l'événement.

Tous les gestionnaires d'événements

SourceName

String

Nom de l'exécutable dans le gestionnaire d'événements qui a déclenché l'événement.

Tous les gestionnaires d'événements

VariableDescription

String

Description de la variable.

Gestionnaire d'événements OnVariableValueChanged

VariableID

String

Identificateur unique de la variable.

Gestionnaire d'événements OnVariableValueChanged

Utilisation de variables système dans des liaisons de paramètres

Il est souvent pratique d'enregistrer les valeurs de variables système dans des tables lors de l'exécution du package. Par exemple, un package qui crée dynamiquement une table et écrit le GUID de l'instance d'exécution du package qui a créé la table dans une colonne de table.

Si vous utilisez des variables système pour effectuer un mappage à des paramètres dans l'instruction SQL qu'une tâche d'exécution SQL utilise, il est important d'affecter au type de données de chaque liaison de paramètre le type de données de la variable système. Sinon, les valeurs des variable système pourraient être mal traduites. Par exemple, si la variable système ExecutionInstanceGUID, qui a des données de type string et contient une chaîne représentant le GUID de l'instance d'exécution d'un package, est utilisée dans une liaison de paramètre avec le type de données GUID, le GUID de l'instance du package ne sera pas traduit correctement.

Cette règle s'applique également aux variables définies par l'utilisateur. Cependant, lorsque les types de données de variables système ne peuvent pas être modifiés et si vous devez personnaliser l'utilisation de ces variables en fonction des types de données, les variables définies par l'utilisateur offrent plus de souplesse. Les variables définies par l'utilisateur qui sont utilisées dans des liaisons de paramètres sont généralement définies avec des types de données compatibles avec les types de données des paramètres auxquels elles sont mappées.

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 ou TechNet :

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