Conteneurs Integration Services
Les conteneurs sont des objets de SQL Server Integration Services qui fournissent une structure aux packages et des services aux tâches. Ils prennent en charge les flux de contrôle répétitifs dans les packages, et regroupent les tâches et les conteneurs en unités de travail significatives. Outre des tâches, les conteneurs peuvent comprendre d'autres conteneurs.
Les packages utilisent les conteneurs aux fins suivantes :
Répéter des tâches pour tous les éléments d'une collection, tels que les fichiers d'un dossier, des schémas ou des objets SMO ( SQL Server Management Objects). Par exemple, un package peut exécuter des instructions Transact-SQL résidant dans plusieurs fichiers.
Répéter des tâches jusqu'à ce qu'une expression spécifiée renvoie la valeur
false
. Par exemple, un package peut envoyer un message électronique différent sept fois, à raison d'une fois par jour de la semaine.Regrouper les tâches et les conteneurs qui doivent réussir ou échouer en tant qu'unité. Par exemple, un package peut regrouper les tâches qui suppriment et ajoutent des lignes dans une table de base de données, puis valider ou annuler toutes les tâches si l'une d'elles échoue.
Types de conteneurs
Integration Services fournit quatre types de conteneurs pour la création de packages. Le tableau suivant décrit ces types de conteneurs.
Conteneur | Description |
---|---|
Conteneur de boucles Foreach | Exécute un flux de contrôle de façon répétitive à l'aide d'un énumérateur. |
Conteneur de boucles For | Exécute un flux de contrôle de façon répétitive en testant une condition. |
conteneur de séquences | Regroupe les tâches et les conteneurs en flux de contrôle représentant des sous-ensembles du flux de contrôle des packages. |
conteneur d'hôte de tâche | Fournit des services à une seule tâche. |
Les packages et les gestionnaires d'événements sont également des types de conteneurs. Pour plus d’informations, consultez Packages Integration Services (SSIS) et Gestionnaires d’événements Integration Services (SSIS).
Résumé des propriétés de conteneur
Tous les types de conteneurs possèdent un ensemble de propriétés communes. Si vous créez des packages à l’aide des outils graphiques fournis par Integration Services , la fenêtre Propriétés répertorie les propriétés suivantes pour les conteneurs de boucles Foreach, de boucles For et de séquences. Les propriétés du conteneur d'hôte de tâche sont configurées dans le cadre de la configuration de la tâche encapsulée par l'hôte de tâche. Définissez les propriétés de l'hôte de tâche lorsque vous configurez la tâche.
Property | Description |
---|---|
DelayValidation |
Valeur booléenne qui indique si la validation du conteneur est retardée jusqu'à l'exécution. La valeur par défaut de cette propriété est False .Pour plus d’informations, consultez DelayValidation. |
Description |
Description du conteneur. La propriété contient une chaîne mais peut être est vide. Pour plus d'informations, consultez Description. |
Disable |
Valeur booléenne qui indique si le conteneur s'exécute. La valeur par défaut de cette propriété est False .Pour plus d’informations, consultez Disable. |
DisableEventHandlers |
Valeur booléenne qui indique si les gestionnaires d'événements associés au conteneur s'exécutent. La valeur par défaut de cette propriété est False . |
FailPackageOnFailure |
Valeur booléenne qui indique si le package échoue en cas d'erreur dans le conteneur. La valeur par défaut de cette propriété est False .Pour plus d’informations, consultez FailPackageOnFailure. |
FailParentOnFailure |
Valeur booléenne qui indique si le conteneur parent échoue en cas d'erreur dans le conteneur. La valeur par défaut de cette propriété est False .Pour plus d’informations, consultez FailParentOnFailure. |
ForcedExecutionValue |
Si ForceExecutionValue a pour valeur True , il s'agit de l'objet qui contient la valeur d'exécution facultative du conteneur. La valeur par défaut de cette propriété est 0.Pour plus d'informations, consultez ForcedExecutionValue. |
ForcedExecutionValueType |
Le type de données ForcedExecutionValue . La valeur par défaut de cette propriété est Int32 . |
ForceExecutionResult |
Valeur qui indique le résultat forcé de l'exécution du package ou conteneur. Les valeurs sont None , Success , Failure et Completion . La valeur par défaut de cette propriété est None .Pour plus d’informations, consultez ForceExecutionResult. |
ForceExecutionValue |
Valeur booléenne qui indique si la valeur d'exécution facultative du conteneur doit être forcée de contenir une valeur particulière. La valeur par défaut de cette propriété est False .Pour plus d’informations, consultez ForceExecutionValue. |
ID |
Identificateur global unique du conteneur, affecté lors de la création du package. Cette propriété est en lecture seule. ID. |
IsolationLevel |
Niveau d'isolation de la transaction sur conteneur. Cette propriété peut prendre les valeurs Unspecified , Chaos , ReadUncommitted , ReadCommitted , RepeatableRead , Serializable et Snapshot . La valeur par défaut de cette propriété est Serializable . Pour plus d’informations, consultez IsolationLevel. |
LocaleID |
Paramètre régional Microsoft Win32. La valeur par défaut de cette propriété est le paramètre régional du système d'exploitation sur l'ordinateur local. Pour plus d'informations, consultez LocaleID. |
LoggingMode |
Valeur qui indique le comportement de journalisation du conteneur. Ces valeurs sont Disabled , Enabled et UseParentSetting . La valeur par défaut de cette propriété est UseParentSetting . Pour plus d’informations, consultez DTSLoggingMode. |
MaximumErrorCount |
Nombre maximal d'erreurs pouvant se produire avant l'arrêt de l'exécution d'un conteneur. La valeur par défaut de cette propriété est 1. Pour plus d'informations, consultez MaximumErrorCount. |
Name |
nom du conteneur. Pour plus d’informations, consultez Name. |
TransactionOption |
Participation transactionnelle du conteneur. Cette propriété peut prendre les valeurs NotSupported , Supported et Required . La valeur par défaut de cette propriété est Supported . Pour plus d’informations, consultez DTSTransactionOption. |
Pour plus d'informations sur toutes les propriétés disponibles pour les conteneurs de boucle Foreach, les conteneurs de boucle For, les conteneurs Sequence et les conteneurs d'hôte de tâche lorsqu'ils sont configurés par programmation, consultez les rubriques API Integration Services suivantes :
T:Microsoft.SqlServer.Dts.Runtime.ForEachLoop
T:Microsoft.SqlServer.Dts.Runtime.ForLoop
T:Microsoft.SqlServer.Dts.Runtime.Sequence
T:Microsoft.SqlServer.Dts.Runtime.TaskHost
Objets étendant les fonctionnalités des conteneurs
Les conteneurs comprennent des flux de contrôle composés d'exécutables et de contraintes de précédence, et peuvent utiliser des gestionnaires d'événements et des variables. Le conteneur d'hôte de tâche est une exception : étant donné que celui-ci encapsule une seule tâche, il n'utilise pas de contraintes de précédence.
Exécutables
Les exécutables désignent les tâches de niveau conteneur et tous les conteneurs se trouvant dans le conteneur. Un exécutable peut être l’une des tâches et l’un des conteneurs fournis par Integration Services , ou bien une tâche personnalisée. Pour plus d’informations, consultez Tâches Integration Services et Conteneurs Integration Services.
Contraintes de précédence
Les contraintes de priorité relient en un flux de contrôle ordonné les conteneurs et les tâches figurant dans le même conteneur parent. Pour plus d’informations, consultez Contraintes de précédence.
Gestionnaires d'événements
Les gestionnaires d'événements au niveau conteneur répondent aux événements déclenchés par le conteneur ou par les objets figurant dans celui-ci. Pour plus d’informations, consultez Gestionnaires d’événements Integration Services (SSIS).
Variables
Les variables utilisées dans les conteneurs comprennent les variables système de niveau conteneur fournies par Integration Services et les variables définies par l’utilisateur utilisées par le conteneur. Pour plus d’informations, consultez Variables Integration Services (SSIS).
Points d’arrêt
Quand vous définissez un point d’arrêt sur un conteneur et que la condition d’arrêt est Arrêter lorsque le conteneur reçoit l’événement OnVariableValueChanged, définissez la variable dans l’étendue du conteneur.