Contenitori in Integration ServicesIntegration Services Containers

I contenitori sono oggetti di SQL ServerSQL Server Integration ServicesIntegration Services che forniscono la struttura ai pacchetti e i servizi alle attività.Containers are objects in SQL ServerSQL Server Integration ServicesIntegration Services that provide structure to packages and services to tasks. Supportano la ripetizione dei flussi di controllo nei pacchetti e consentono di raggruppare attività e contenitori in unità di lavoro significative.They support repeating control flows in packages, and they group tasks and containers into meaningful units of work. Oltre alle attività, i contenitori possono includere anche altri contenitori.Containers can include other containers in addition to tasks.

Nei pacchetti i contenitori vengono utilizzati per gli scopi seguenti:Packages use containers for the following purposes:

  • Ripetere determinate attività per ogni elemento di una raccolta, ad esempio i file in una cartella, schemi o oggetti SMO ( SQL ServerSQL Server Management Objects).Repeat tasks for each element in a collection, such as files in a folder, schemas, or SQL ServerSQL Server Management Objects (SMO) objects. Un pacchetto può ad esempio eseguire istruzioni Transact-SQL disponibili in più file.For example, a package can run Transact-SQL statements that reside in multiple files.

  • Ripetere determinate attività finché un'espressione specificata non restituisce false.Repeat tasks until a specified expression evaluates to false. Un pacchetto può ad esempio inviare un messaggio di posta elettronica diverso per sette volte, ovvero uno per ogni giorno della settimana.For example, a package can send a different e-mail message seven times, one time for every day of the week.

  • Creare gruppi di attività e contenitori che devono avere esito positivo o negativo come singola unità.Group tasks and containers that must succeed or fail as a unit. Un pacchetto può ad esempio raggruppare attività che eliminano e aggiungono righe in una tabella di database e quindi eseguire il commit o il rollback di tutte le attività quando una di queste non riesce.For example, a package can group tasks that delete and add rows in a database table, and then commit or roll back all the tasks when one fails.

Tipi di contenitoriContainer Types

Integration ServicesIntegration Services offre quattro tipi di contenitori per la compilazione dei pacchetti, provides four types of containers for building packages. elencati nella tabella seguente.The following table lists the container types.

ContenitoreContainer DescriptionDescription
Contenitore Ciclo ForeachForeach Loop Container Esegue ripetutamente un determinato flusso di controllo utilizzando un enumeratore.Runs a control flow repeatedly by using an enumerator.
Contenitore Ciclo ForFor Loop Container Esegue ripetutamente un determinato flusso di controllo verificando una condizione.Runs a control flow repeatedly by testing a condition.
Contenitore SequenzaSequence Container Raggruppa attività e contenitori in flussi di controllo che costituiscono subset del flusso di controllo del pacchetto.Groups tasks and containers into control flows that are subsets of the package control flow.
Contenitore Host delle attivitàTask Host Container Fornisce servizi a una singola attività.Provides services to a single task.

Anche i gestori dell'evento e i pacchetti sono tipi di contenitori.Packages and events handlers are also types of containers. Per altre informazioni, vedere Pacchetti di Integration Services (SSIS) e Gestori eventi di Integration Services (SSIS).For information see Integration Services (SSIS) Packages and Integration Services (SSIS) Event Handlers.

Riepilogo delle proprietà dei contenitoriSummary of Container Properties

Tutti i tipi di contenitori dispongono di un set di proprietà comune.All container types have a set of properties in common. Se si creano pacchetti usando gli strumenti grafici offerti da Integration ServicesIntegration Services , per i contenitori Ciclo Foreach, Ciclo For e Sequenza vengono elencate nella finestra Proprietà le proprietà seguenti.If you create packages using the graphical tools that Integration ServicesIntegration Services provides, the Properties window lists the following properties for the Foreach Loop, For Loop, and Sequence containers. Le proprietà dei contenitori host delle attività vengono configurate nell'ambito della configurazione dell'attività incapsulata nell'host.The task host container properties are configured as part of configuring the task that the task host encapsulates. Le proprietà degli host delle attività vengono impostate quando si configura l'attività.You set the Task Host properties when you configure the task.

ProprietàProperty DescriptionDescription
DelayValidationDelayValidation Valore booleano che indica se la convalida del contenitore viene posticipata fino alla fase di esecuzione.A Boolean value that indicates whether validation of the container is delayed until run time. Il valore predefinito di questa proprietà è False.The default value for this property is False.

Per altre informazioni, vedere DelayValidation.For more information, see DelayValidation.
DescriptionDescription Descrizione del contenitore.The container description. La proprietà contiene una stringa, ma può essere vuota.The property contains a string, but may be blank.

Per altre informazioni, vedere Description.For more information, see Description.
DisableDisable Valore booleano che indica se il contenitore verrà eseguito.A Boolean value that indicates whether the container runs. Il valore predefinito di questa proprietà è False.The default value for this property is False.

Per altre informazioni, vedere Disable.For more information, see Disable.
DisableEventHandlersDisableEventHandlers Valore booleano che indica se i gestori di eventi associati al contenitore verranno eseguiti.A Boolean value that indicates whether the event handlers associated with the container run. Il valore predefinito di questa proprietà è False.The default value for this property is False.
FailPackageOnFailureFailPackageOnFailure Valore booleano che specifica se il pacchetto deve essere interrotto in caso di errore nel contenitore.A Boolean value that specifies whether the package fails if an error occurs in the container. Il valore predefinito di questa proprietà è False.The default value for this property is False.

Per altre informazioni, vedere FailPackageOnFailure.For more information, see FailPackageOnFailure.
FailPackageOnFailureFailParentOnFailure Valore booleano che specifica se il contenitore padre deve essere interrotto in caso di errore nel contenitore.A Boolean value that specifies whether the parent container fails if an error occurs in the container. Il valore predefinito di questa proprietà è False.The default value for this property is False.

Per altre informazioni, vedere FailParentOnFailure.For more information, see FailParentOnFailure.
ForcedExecutionValueForcedExecutionValue Se la proprietà ForceExecutionValue è impostata su True, rappresenta l'oggetto che contiene il valore di esecuzione facoltativo per il contenitore.If ForceExecutionValue is set to True, the object that contains the optional execution value for the container. Il valore predefinito di questa proprietà è 0.The default value of this property is 0.

Per altre informazioni, vedere ForcedExecutionValue.For more information, see ForcedExecutionValue.
ForcedExecutionValueTypeForcedExecutionValueType Il tipo di dati ForcedExecutionValue.The data type of ForcedExecutionValue. Il valore predefinito di questa proprietà è Int32.The default value of this property is Int32.
ForceExecutionResultForceExecutionResult Valore che specifica il risultato forzato dell'esecuzione del pacchetto o del contenitore.A value that specifies the forced result of running the package or container. I valori sono None, Success, Failuree Completion.The values are None, Success, Failure, and Completion. Il valore predefinito di questa proprietà è None.The default value for this property is None.

Per altre informazioni, vedere ForceExecutionResult.For more information, see ForceExecutionResult.
ForceExecutionValueForceExecutionValue Valore booleano che specifica se il valore di esecuzione facoltativo del contenitore deve essere forzato in modo da contenere un valore specifico.A Boolean value that specifies whether the optional execution value of the container should be forced to contain a particular value. Il valore predefinito di questa proprietà è False.The default value of this property is False.

Per altre informazioni, vedere ForceExecutionValue.For more information, see ForceExecutionValue.
IDID GUID del contenitore, assegnato al momento della creazione del pacchetto.The container GUID, which is assigned when the package is created. Questa proprietà è di sola lettura.This property is read-only.

ID.ID.
IsolationLevelIsolationLevel Livello di isolamento della transazione del contenitore.The isolation level of the container transaction. I valori sono Unspecified, Chaos, ReadUncommitted, ReadCommitted, RepeatableRead, Serializablee Snapshot.The values are Unspecified, Chaos, ReadUncommitted, ReadCommitted, RepeatableRead, Serializable, and Snapshot. Il valore predefinito di questa proprietà è Serializable.The default value of this property is Serializable. Per altre informazioni, vedere IsolationLevel.For more information, see IsolationLevel.
LocaleIDLocaleID Impostazioni locali Microsoft Win32.A Microsoft Win32 locale. Il valore predefinito di questa proprietà è costituito dalle impostazioni locali del sistema operativo sul computer locale.The default value of this property is the locale of the operating system on the local computer.

Per altre informazioni, vedere LocaleID.For more information, see LocaleID.
LoggingModeLoggingMode Valore che specifica il comportamento di registrazione del contenitore.A value that specifies the logging behavior of the container. I possibili valori sono Disabled, Enablede UseParentSetting.The values are Disabled, Enabled, and UseParentSetting. Il valore predefinito di questa proprietà è UseParentSetting.The default value of this property is UseParentSetting. Per altre informazioni, vedere DTSLoggingMode.For more information, see DTSLoggingMode.
MaximumErrorCountMaximumErrorCount Numero massimo di errori che possono verificarsi prima che l'esecuzione del contenitore venga arrestata.The maximum number of errors that can occur before a container stops running. Il valore predefinito di questa proprietà è 1.The default value of this property is 1.

Per altre informazioni, vedere MaximumErrorCount.For more information, see MaximumErrorCount.
NomeName Nome del contenitore.The name of the container.

Per altre informazioni, vedere Name.For more information, see Name.
TransactionOptionTransactionOption Supporto delle transazioni da parte del contenitore.The transactional participation of the container. I possibili valori sono NotSupported, Supportede Required.The values are NotSupported, Supported, Required. Il valore predefinito di questa proprietà è Supported.The default value of this property is Supported. Per altre informazioni, vedere DTSTransactionOption.For more information, see DTSTransactionOption.

Per ulteriori informazioni su tutte le proprietà disponibili per i contenitori Ciclo Foreach, Ciclo For, Sequenza e host delle attività durante la relativa configurazione a livello di codice, vedere gli argomenti relativi alle API di Integration ServicesIntegration Services seguenti:To learn about all the properties that are available to Foreach Loop, For Loop, Sequence, and Task Host containers when configure them programmatically, see the following Integration ServicesIntegration Services API topics:

  • T:Microsoft.SqlServer.Dts.Runtime.ForEachLoopT:Microsoft.SqlServer.Dts.Runtime.ForEachLoop

  • T:Microsoft.SqlServer.Dts.Runtime.ForLoopT:Microsoft.SqlServer.Dts.Runtime.ForLoop

  • T:Microsoft.SqlServer.Dts.Runtime.SequenceT:Microsoft.SqlServer.Dts.Runtime.Sequence

  • T:Microsoft.SqlServer.Dts.Runtime.TaskHostT:Microsoft.SqlServer.Dts.Runtime.TaskHost

Oggetti che estendono le funzionalità dei contenitoriObjects that Extend Container Functionality

I contenitori includono flussi di controllo costituiti da eseguibili e vincoli di precedenza. Possono inoltre utilizzare variabili e gestori di eventi.Containers include control flows that consist of executables and precedence constraints, and may use event handlers, and variables. Il contenitore Host attività costituisce un'eccezione perché, dal momento che incapsula una singola attività, non utilizza vincoli di precedenza.The task host container is an exception: because the task host container encapsulates a single task, it does not use precedence constraints.

EseguibiliExecutables

Il termine eseguibile si riferisce alle attività a livello di contenitore e a qualsiasi contenitore all'interno del contenitore in considerazione.Executables refers to the container-level tasks and any containers within the container. Un eseguibile può essere costituito da uno dei contenitori e una delle attività disponibili in Integration ServicesIntegration Services oppure da un'attività personalizzata.An executable can be one of the tasks and containers that Integration ServicesIntegration Services provides or a custom task. Per altre informazioni, vedere Attività di Integration Services.For more information, see Integration Services Tasks.

Vincoli di precedenzaPrecedence Constraints

I vincoli di precedenza collegano in un flusso di controllo ordinato i contenitori e le attività presenti in uno stesso contenitore padre.Precedence constraints link containers and tasks within the same parent container into an ordered control flow. Per altre informazioni, vedere Vincoli di precedenza.For more information, see Precedence Constraints.

Gestori di eventiEvent Handlers

I gestori di eventi a livello di contenitore rispondono agli eventi generati dal contenitore o dagli altri oggetti inclusi al suo interno.Event handlers at the container level respond to events raised by the container or the objects it includes. Per altre informazioni, vedere Gestori eventi di Integration Services (SSIS).For more information, see Integration Services (SSIS) Event Handlers.

VariabiliVariables

Nelle variabili usate nei contenitori sono incluse le variabili di sistema a livello di contenitore disponibili in Integration ServicesIntegration Services e le variabili definite dall'utente usate dal contenitore.Variables that are used in containers include the container-level system variables that Integration ServicesIntegration Services provides and the user-defined variables that the container uses. Per altre informazioni, vedere Variabili di Integration Services (SSIS).For more information, see Integration Services (SSIS) Variables.

Punti di interruzioneBreak Points

Quando si imposta un punto di interruzione in un contenitore e la condizione di interruzione è Interrompi quando il contenitore riceve l'evento OnVariableValueChanged, definire la variabile nell'ambito del contenitore.When you set a breakpoint on a container and the break condition is Break when the container recevies the OnVariableValueChanged event, define the variable in the container scope.

Vedere ancheSee Also

Flusso di controlloControl Flow