Vincoli di precedenzaPrecedence Constraints

I vincoli di precedenza collegano eseguibili, contenitori e attività di pacchetti in modo da formare un flusso di controllo e specificano le condizioni che determinano se tali eseguibili devono essere eseguiti.Precedence constraints link executables, containers, and tasks in packages in a control flow, and specify conditions that determine whether executables run. Un eseguibile può essere costituito da un gestore di evento o da un contenitore Ciclo For, Ciclo Foreach o Sequenza.An executable can be a For Loop, Foreach Loop, or Sequence container; a task; or an event handler. Anche nei gestori di eventi vengono utilizzati vincoli di precedenza per collegare gli eseguibili in modo da formare un flusso di controllo.Event handlers also use precedence constraints to link their executables into a control flow.

Un vincolo di precedenza collega due eseguibili: l'eseguibile con precedenza e l'eseguibile soggetto al vincolo.A precedence constraint links two executables: the precedence executable and the constrained executable. L'eseguibile con precedenza viene eseguito prima dell'eseguibile soggetto al vincolo e il risultato della sua esecuzione può determinare se l'eseguibile soggetto al vincolo verrà eseguito o meno.The precedence executable runs before the constrained executable, and the execution result of the precedence executable may determine whether the constrained executable runs. Nella figura seguente vengono illustrati due eseguibili collegati da vincoli di precedenza.The following diagram shows two executables linked by a precedence constraint.

File eseguibili collegati da un vincolo di precedenzaExecutables connected by a precedence constraint

In un flusso di controllo lineare, ovvero senza diramazioni, la sequenza di esecuzione delle attività è regolata unicamente dai vincoli di precedenza.In a linear control flow, that is, one without branching, precedence constraints alone govern the sequence in which tasks run. In un flusso di controllo con diramazioni l'ordine di esecuzione delle attività e dei contenitori situati immediatamente dopo una diramazione è determinato dal motore di run-time di Integration ServicesIntegration Services .If a control flow branches, the Integration ServicesIntegration Services run-time engine determines the execution order among the tasks and containers that immediately follow the branching. Il motore di run-time determina anche l'ordine di esecuzione dei flussi di lavoro non connessi in un flusso di controllo.The run-time engine also determines execution order among unconnected workflows in a control flow.

L'architettura a contenitori nidificati di Integration ServicesIntegration Services consente a tutti i contenitori, ad eccezione del contenitore Host attività che incapsula una sola attività, di includere altri contenitori, ognuno con un proprio flusso di controllo.The nested-container architecture of Integration ServicesIntegration Services enables all containers, except for the task host container that encapsulates only a single task, to include other containers, each with its own control flow. I contenitori Ciclo For, Ciclo Foreach e Sequenza possono includere più attività e altri contenitori, che a loro volta possono includere più attività e contenitori.The For Loop, Foreach Loop, and Sequence containers can include multiple tasks and other containers, which in turn can include multiple tasks and containers. Un pacchetto con un'attività Script e un contenitore Sequenza può ad esempio includere un vincolo di precedenza che collega l'attività Script e il contenitore Sequenza.For example, a package with a Script task and a Sequence container has a precedence constraint that links the Script task and the Sequence container. Il contenitore Sequenza include tre attività Script e i relativi vincoli di precedenza collegano le tre attività Script in modo da formare un flusso di controllo.The Sequence container includes three Script tasks, and its precedence constraints link the three Script tasks into a control flow. Nella figura seguente vengono illustrati i vincoli di precedenza utilizzati in un pacchetto con due livelli di nidificazione.The following diagram shows the precedence constraints in a package with two levels of nesting.

Vincoli di precedenza in un pacchettoPrecedence contraints in a package

Poiché il pacchetto è al livello principale della gerarchia dei contenitori di SSISSSIS , non è possibile collegare più pacchetti tramite vincoli di precedenza. È tuttavia possibile aggiungere un'attività Esegui pacchetto a un pacchetto e in tal modo collegare indirettamente un altro pacchetto al flusso di controllo.Because the package is at the top of the SSISSSIS container hierarchy, multiple packages cannot be linked by precedence constraints; however, you can add an Execute Package task to a package and indirectly link another package into the control flow.

Per configurare i vincoli di precedenza, procedere nel modo seguente:You can configure precedence constraints in the following ways:

  • Specificare un'operazione di valutazione.Specify an evaluation operation. Il vincolo di precedenza utilizza un valore di vincolo, un'espressione o entrambi o per determinare se l'eseguibile deve essere eseguito o meno.The precedence constraint uses a constraint value, an expression, both, or either to determine whether the constrained executable runs.

  • Se il vincolo di precedenza utilizza il risultato di un'esecuzione, sarà possibile specificare se l'esecuzione deve avere esito positivo, negativo o essere semplicemente completata.If the precedence constraint uses an execution result, you can specify the execution result to be success, failure, or completion.

  • Se il vincolo di precedenza utilizza il risultato di una valutazione, sarà possibile specificare un'espressione che restituisce un valore booleano.If the precedence constraint uses an evaluation result, you can provide an expression that evaluates to a Boolean.

  • Specificare se il vincolo di precedenza deve essere valutato singolarmente o insieme ad altri vincoli applicati all'eseguibile soggetto al vincolo.Specify whether the precedence constraint is evaluated singly or together with other constraints that apply to the constrained executable.

Operazioni di valutazioneEvaluation Operations

Integration ServicesIntegration Services offre le operazioni di valutazione seguenti: provides the following evaluation operations:

  • Un vincolo che utilizza solo il risultato dell'esecuzione dell'eseguibile con precedenza per determinare se l'eseguibile soggetto al vincolo deve essere eseguito o meno.A constraint that uses only the execution result of the precedence executable to determine whether the constrained executable runs. Il risultato dell'esecuzione dell'eseguibile con precedenza indica se l'esecuzione ha avuto esito positivo, negativo o semplicemente se è stata completata.The execution result of the precedence executable can be completion, success, or failure. Si tratta dell'operazione predefinita.This is the default operation.

  • Un'espressione che viene valutata per determinare se l'eseguibile soggetto al vincolo deve essere eseguito o meno.An expression that is evaluated to determine whether the constrained executable runs. Se l'espressione restituisce True, l'eseguibile soggetto al vincolo verrà eseguito.If the expression evaluates to true, the constrained executable runs.

  • Un'espressione e un vincolo che combinano i requisiti del risultato dell'esecuzione dell'eseguibile con precedenza e del risultato restituito dalla valutazione dell'espressione.An expression and a constraint that combines the requirements of execution results of the precedence executable and the return results of evaluating the expression.

  • Un'espressione o un vincolo che utilizza il risultato dell'esecuzione dell'eseguibile con precedenza o il risultato restituito dalla valutazione dell'espressione.An expression or a constraint that uses either the execution results of the precedence executable or the return results of evaluating the expression.

    SSISSSIS In Progettazione SSIS vengono usati i colori per identificare il tipo di vincolo di precedenza. Designer uses color to identify the type of precedence constraint. Il vincolo Success è verde, il vincolo Failure è rosso e il vincolo Completion è blu.The Success constraint is green, the Failure constraint is red, and the Completion constraint is blue. Per visualizzare in Progettazione SSISSSIS etichette di testo che indicano il tipo di vincolo, è necessario configurare le funzionalità di accessibilità di Progettazione SSISSSIS .To display text labels in SSISSSIS designer that show the type of the constraint, you must configure the accessibility features of SSISSSIS Designer.

    L'espressione deve essere un'espressione SSISSSIS valida e in essa possono essere incluse funzioni, operatori, nonché variabili personalizzate e di sistema.The expression must be a valid SSISSSIS expression, and it can include functions, operators, and system and custom variables. Per altre informazioni, vedere Espressioni di Integration Services (SSIS) e Variabili di Integration Services (SSIS).For more information, see Integration Services (SSIS) Expressions and Integration Services (SSIS) Variables.

Risultati di esecuzioneExecution Results

I vincoli di precedenza possono utilizzare i risultati di esecuzione seguenti, singolarmente o in combinazione con un'espressione.The precedence constraint can use the following execution results alone or in combination with an expression.

  • Il vincolo Completion richiede solo che l'eseguibile con precedenza abbia completato l'esecuzione, indipendentemente dall'esito, affinché l'eseguibile soggetto al vincolo venga eseguito.Completion requires only that the precedence executable has completed, without regard to outcome, in order for the constrained executable to run.

  • Il vincolo Success richiede che l'eseguibile con precedenza abbia completato correttamente l'esecuzione, affinché l'eseguibile soggetto al vincolo venga eseguito.Success requires that the precedence executable must complete successfully for the constrained executable to run.

  • Il vincolo Failure richiede che l'eseguibile con precedenza non abbia completato correttamente l'esecuzione, affinché l'eseguibile soggetto al vincolo venga eseguito.Failure requires that the precedence executable fail for the constrained executable to run.

Nota

È possibile raggruppare in una condizione con AND logico solo vincoli di precedenza appartenenti alla stessa raccolta.Only precedence constraints that are members of the same Precedence Constraint collection can be grouped in a logical AND condition. Non è ad esempio possibile combinare i vincoli di precedenza utilizzati in due contenitori Ciclo Foreach diversi.For example, you cannot combine precedence constraints from two Foreach Loop containers.

Impostare le proprietà di un vincolo di precedenza con Editor vincoli di precedenzaSet the properties of a precedence constraint with the Precedence Constraint Editor

  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)aprire il progetto di Integration ServicesIntegration Services che contiene il pacchetto desiderato.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. In Esplora soluzioni fare doppio clic sul pacchetto per aprirlo.In Solution Explorer, double-click the package to open it.

  3. Fare clic sulla scheda Flusso di controllo .Click the Control Flow tab.

  4. Fare doppio clic sul vincolo di precedenza.Double-click the precedence constraint.

    Verrà aperta la finestra di dialogo Editor vincoli di precedenza .The Precedence Constraint Editor opens.

  5. Nell'elenco a discesa Operazione valutazione selezionare un'operazione di valutazione.In the Evaluation operation drop-down list, select an evaluation operation.

  6. Nell'elenco a discesa Valore selezionare il risultato dell'esecuzione dell'eseguibile con precedenza.In the Value drop-down list, select the execution result of the precedence executable.

  7. Se l'operazione di valutazione usa un'espressione, digitare l'espressione nella casella Espressione e fare clic su Test per valutarla.If the evaluation operation uses an expression, in the Expression box, type an expression, and click Test to evaluate the expression.

    Nota

    Per i nomi delle variabili viene fatta distinzione tra maiuscole e minuscole.Variable names are case-sensitive.

  8. Se all'eseguibile soggetto al vincolo sono connessi più contenitori o attività, selezionare AND logico per specificare che il risultato di esecuzione di tutti gli eseguibili con precedenza deve essere true.If multiple tasks or containers are connected to the constrained executable, select Logical AND to specify that the execution results of all preceding executables must evaluate to true. Selezionare OR logico per specificare che è sufficiente che un solo risultato di esecuzione restituisca true.Select Logical OR to specify that only one execution result must evaluate to true.

  9. Scegliere OK per chiudere la finestra Editor vincoli di precedenza.Click OK to close the Precedence Constraint Editor.

  10. Per salvare il pacchetto aggiornato, scegliere Salva elementi selezionati dal menu File .To save the updated package, click Save Selected Items on the File menu.

Editor vincoli di precedenzaPrecedence Constraint Editor

Utilizzare la finestra di dialogo Editor vincoli di precedenza per configurare i vincoli di precedenza.Use the Precedence Constraint Editor dialog box to configure precedence constraints.

OpzioniOptions

Operazione di valutazioneEvaluation operation
Consente di specificare l'operazione di valutazione utilizzata dal vincolo di precedenza.Specify the evaluation operation that the precedence constraint uses. Le operazioni sono Vincolo, Espressione, Espressione e vincoloe Espressione o vincolo.The operations are: Constraint, Expression, Expression and Constraint, and Expression or Constraint.

ValoreValue
Consente di specificare il valore di vincolo, ovvero Operazione completata, Erroreoppure Completamento.Specify the constraint value: Success, Failure, or Completion.

Nota

La riga del vincolo di precedenza è di colore verde in caso di Esito positivo, evidenziata per Esito negativoe blu per Completamento.The precedence constraint line is green for Success, highlighted for Failure, and blue for Completion.

EspressioneExpression
Se si usano le operazioni Espressione, Espressione e vincoloo Espressione o vincolo, digitare un'espressione o avviare Generatore di espressioni per creare l'espressione.If using the operations Expression, Expression and Constraint, or Expression or Constraint, type an expression or launch the Expression Builder to create the expression. L'espressione deve restituire un valore booleano.The expression must evaluate to a Boolean.

TestTest
Consente di convalidare l'espressione.Validate the expression.

AND logicoLogical AND
Selezionare questa opzione per specificare che devono essere valutati contemporaneamente più vincoli di precedenza nello stesso file eseguibile.Select to specify that multiple precedence constraints on the same executable must be evaluated together. Tutti i vincoli devono restituire True.All constraints must evaluate to True.

Nota

Questo tipo di vincolo di precedenza viene visualizzato come riga di colore verde, evidenziata o blu continua.This type of precedence constraint appears as a solid green, highlighted or blue line.

OR logicoLogical OR
Selezionare questa opzione per specificare che devono essere valutati contemporaneamente più vincoli di precedenza nello stesso file eseguibile.Select to specify that multiple precedence constraints on the same executable must be evaluated together. Almeno un vincolo deve restituire True.At least one constraint must evaluate to True.

Nota

Questo tipo di vincolo di precedenza viene visualizzato come riga di colore verde, evidenziata o blu tratteggiata.This type of precedence constraint appears as a dotted green, highlighted, or blue line.

Impostare le proprietà di un vincolo di precedenza nella finestra proprietàSet the properties of a precedence constraint in Properties window

  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)aprire il progetto di Integration ServicesIntegration Services che contiene il pacchetto da modificare.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want to modify.

  2. In Esplora soluzioni fare doppio clic sul pacchetto per aprirlo.In Solution Explorer, double-click the package to open it.

  3. Fare clic sulla scheda Flusso di controllo . Nell'area di progettazione della scheda Flusso di controllo fare clic sul vincolo di precedenza con il pulsante destro del mouse e quindi scegliere Proprietà.Click the Control Flow tab. On the design surface of the Control Flow tab, right-click the precedence constraint, and then click Properties. Nella finestra Proprietà modificare i valori delle proprietà.In the Properties window, modify the property values.

  4. Nella finestra Proprietà impostare le proprietà di lettura/scrittura seguenti dei vincoli di precedenza:In the Properties window, set the following read/write properties of precedence constraints:

    Proprietà di lettura/scritturaRead/write property Azione di configurazioneConfiguration action
    DescriptionDescription Specificare una descrizione.Provide a description.
    EvalOpEvalOp Selezionare un'operazione di valutazione.Select an evaluation operation. In caso di selezione dell'operazione Expression, ExpressionAndConstanto ExpressionOrConstant , è possibile specificare un'espressione.If the Expression, ExpressionAndConstant, or ExpressionOrConstant operation is selected, you can specify an expression.
    EspressioneExpression Se l'operazione di valutazione include un'espressione, specificare l'espressione.If the evaluation operation includes and expression, provide an expression. L'espressione deve restituire un valore booleano.The expression must evaluate to a Boolean. Per altre informazioni sul linguaggio delle espressioni, vedere Espressioni di Integration Services (SSIS).For more information about the expression language, see Integration Services (SSIS) Expressions.
    LogicalAndLogicalAnd Impostare LogicalAnd in modo da specificare se il vincolo di precedenza viene valutato insieme ad altri vincoli di precedenza, quando più eseguibili precedono e sono collegati all'eseguibile soggetto al vincoloSet LogicalAnd to specify whether the precedence constraint is evaluated in concert with other precedence constraints, when multiple executables precede and are linked to the constrained executable
    NomeName Aggiornare il nome del vincolo di precedenza.Update the name of the precedence constraint.
    ShowAnnotationShowAnnotation Specificare il tipo di annotazione da utilizzare.Specify the type of annotation to use. Selezionare Never per disabilitare le annotazioni, AsNeeded per attivare le annotazioni su richiesta, ConstraintName per aggiungere automaticamente annotazioni usando il valore della proprietà Name, ConstraintDescription per aggiungere automaticamente annotazioni usando il valore della proprietà Description e ConstraintOptions per aggiungere automaticamente annotazioni usando i valori delle proprietà Value ed Expression.Choose Never to disable annotations, AsNeeded to enable annotation on demand, ConstraintName to automatically annotate using the value of the Name property, ConstraintDescription to automatically annotate using the value of the Description property, and ConstraintOptions to automatically annotate using the values of the Value and Expression properties.
    ValoreValue Se l'operazione di valutazione specificata nella proprietà EvalOP include un vincolo, selezionare il risultato dell'esecuzione dell'eseguibile vincolante.If the evaluation operation specified in the EvalOP property includes a constraint, select the execution result of the constraining executable.
  5. Chiudere la finestra Proprietà.Close the Properties window.

  6. Per salvare il pacchetto aggiornato, scegliere Salva elementi selezionati dal menu File .To save the updated package, click Save Selected Items on the File menu.

Impostare il valore di un vincolo di precedenza con il menu di scelta rapidaSet the value of a precedence constraint with the shortcut menu

  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)aprire il progetto di Integration ServicesIntegration Services che contiene il pacchetto desiderato.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. In Esplora soluzioni fare doppio clic sul pacchetto per aprirlo.In Solution Explorer, double-click the package to open it.

  3. Fare clic sulla scheda Flusso di controllo .Click the Control Flow tab.

  4. Nell'area di progettazione della scheda Flusso di controllo fare clic con il pulsante destro del mouse sul vincolo di precedenza e scegliere Success, Failureo Completion.On the design surface of the Control Flow tab, right-click the precedence constraint, and then click Success, Failure, or Completion.

  5. Per salvare il pacchetto aggiornato scegliere Salva elementi selezionati dal menu File .To save the updated package, click Save Selected Item on the File menu.

Aggiunta di espressioni ai vincoli di precedenzaAdd expressions to precedence constraints

In un vincolo di precedenza è possibile utilizzare un'espressione per definire il vincolo tra due eseguibili: l'eseguibile con precedenza e l'eseguibile soggetto al vincolo.A precedence constraint can use an expression to define the constraint between two executables: the precedence executable and the constrained executable. Gli eseguibili possono essere attività o contenitori.The executables can be tasks or containers. L'espressione può essere utilizzata da sola o in combinazione con il risultato dell'esecuzione dell'eseguibile con precedenza.The expression can be used alone or in combination with the execution result of the precedence executable. Il risultato dell'esecuzione di un eseguibile può essere Success o Failure.The execution result of an executable is either success or failure. Quando si configura il risultato dell'esecuzione di un vincolo di precedenza è possibile impostare il risultato dell'esecuzione su Esito positivo, Erroreo Completamento.When you configure the execution result of a precedence constraint, you can set the execution result to Success, Failure, or Completion. Esito positivo richiede che l'esecuzione dell'eseguibile con precedenza venga completata correttamente, Errore richiede che l'esecuzione dell'eseguibile con precedenza non riesca e Completamento indica che l'eseguibile soggetto al vincolo deve essere eseguito indipendentemente dall'esito dell'esecuzione dell'attività con precedenza.Success requires that the precedence executable succeed, Failure requires that the precedence executable fail, and Completion indicates that the constrained executable should run regardless of whether the precedence task succeeds or fails. Per altre informazioni, vedere Vincoli di precedenza.For more information, see Precedence Constraints.

L'espressione, che deve restituire True o False, deve essere un'espressione di Integration ServicesIntegration Services valida.The expression must evaluate to True or False and it must be a valid Integration ServicesIntegration Services expression. e può utilizzare valori letterali, variabili di sistema e personalizzate, nonché le funzioni e gli operatori forniti dalla grammatica delle espressioni di SSISSSIS.The expression can use literals, system and custom variables, and the functions and operators that the SSISSSIS expression grammar provides. L'espressione @Count == SQRT(144) + 10, ad esempio, usa la variabile Count, la funzione SQRT e gli operatori di uguaglianza (==) e di addizione (+).For example, the expression @Count == SQRT(144) + 10 uses the variable Count, the SQRT function , and the equal (==) and add (+) operators. Per altre informazioni, vedere Espressioni di Integration Services (SSIS).For more information, see Integration Services (SSIS) Expressions.

Nella figura seguente le attività A e B sono collegate da un vincolo di precedenza che utilizza il risultato di un'esecuzione e un'espressione.In the following illustration, task A and task B are linked by a precedence constraint that uses an execution result and an expression. Il valore del vincolo è impostato su Esito positivo e l'espressione è @X >== @Z.The constraint value is set to Success and the expression is @X >== @Z. L'attività B, soggetta al vincolo, viene eseguita solo se l'attività A viene completata e il valore della variabile X è maggiore o uguale a quello della variabile Z.Task B, the constrained task, runs only if task A completes successfully and the value of variable X is greater than or equal to the value of variable Z.

Vincolo di precedenza tra due attivitàPrecedence constraint between two tasks

Per collegare gli eseguibili è inoltre possibile utilizzare più vincoli di precedenza contenenti espressioni diverse.Executables can also be linked by using multiple precedence constraints that contain different expressions. Nella figura seguente, ad esempio, le attività B e C sono collegate all'attività A da vincoli di precedenza che utilizzano risultati di esecuzione ed espressioni.For example, in the following illustration, tasks B and C are linked to task A by precedence constraints that use execution results and expressions. I valori di entrambi i vincoli sono impostati su Esito positivo.Both of the constraint values are set to Success. Uno dei vincoli di precedenza include l'espressione @X >== @Z, mentre l'altro include l'espressione @X < @Z.One precedence constraint includes the expression @X >== @Z, and the other precedence constraint includes the expression @X < @Z. A seconda dei valori assunti dalle variabili X e Z, verrà eseguita l'attività C o l'attività B.Depending on the values of variable X and variable Z, either task C or task B runs.

Le espressioni nei vincoli di precedenzaExpressions on precedence constraints

Per aggiungere o modificare un'espressione, è possibile usare Editor vincoli di precedenza in Progettazione SSISSSIS e la finestra Proprietà disponibile in SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT).You can add or modify an expression by using the Precedence Constraint Editor in SSISSSIS Designer and the Properties window that SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT) provides. La finestra Proprietà non è tuttavia in grado di verificare la sintassi delle espressioni.However, the Properties window does not provide verification of the expression syntax.

Se un vincolo di precedenza include un'espressione, sull'area di progettazione delle scheda Flusso di controllo verrà visualizzata un'icona accanto al vincolo di precedenza e l'espressione verrà visualizzata nella descrizione comando di tale icona.If a precedence constraint includes an expression, an icon appears on the design surface of the Control Flow tab, next to the precedence constraint, and the ToolTip on the icon displays the expression.

Aggiungere un'espressione a un vincolo di precedenzaAdd an expression to a precedence constraint

  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)aprire il progetto di Integration ServicesIntegration Services che contiene il pacchetto desiderato.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. In Esplora soluzioni fare doppio clic sul pacchetto per aprirlo.In Solution Explorer, double-click the package to open it.

  3. Fare clic sulla scheda Flusso di controllo .Click the Control Flow tab.

  4. Nell'area di progettazione della scheda Flusso di controllo fare doppio clic sul vincolo di precedenza.On the design surface of the Control Flow tab, double-click the precedence constraint. Verrà aperta la finestra di dialogo Editor vincoli di precedenza .The Precedence Constraint Editor opens.

  5. Selezionare Espressione, Espressione e vincoloo Espressione o vincolo nell'elenco Operazione valutazione .Select Expression, Expression and Constraint, or Expression or Constraint in the Evaluation operation list.

  6. Digitare un'espressione nella casella di testo Espressione o avviare Generatore di espressioni per creare un'espressione.Type an expression in the Expression text box or launch the Expression Builder to create an expression.

  7. Per convalidare la sintassi dell'espressione, fare clic su Test.To validate the expression syntax, click Test.

  8. Per salvare il pacchetto aggiornato, scegliere Salva elementi selezionati dal menu File .To save the updated package, click Save Selected Items on the File menu.

Combinare espressioni e valori di esecuzioneCombine execution values and expressions

Nella tabella seguente vengono descritti gli effetti ottenuti combinando un vincolo su un valore di esecuzione e un'espressione in un vincolo precedenza.The following table describes the effects of combining an execution value constraint and an expression in a precedence constraint.

Operazioni di valutazioneEvaluation operation Valore restituito dal vincoloConstraint evaluates to Valore restituito dall'espressioneExpression evaluates to Esecuzione eseguibile soggetto al vincoloConstrained executable runs
VincoloConstraint TrueTrue N/DN/A TrueTrue
VincoloConstraint FalseFalse N/DN/A FalseFalse
EspressioneExpression N/DN/A TrueTrue TrueTrue
EspressioneExpression N/DN/A FalseFalse FalseFalse
Vincolo ed espressioneConstraint and Expression TrueTrue TrueTrue TrueTrue
Vincolo ed espressioneConstraint and Expression TrueTrue FalseFalse FalseFalse
Vincolo ed espressioneConstraint and Expression FalseFalse TrueTrue FalseFalse
Vincolo ed espressioneConstraint and Expression FalseFalse FalseFalse FalseFalse
Vincolo o espressioneConstraint or Expression TrueTrue TrueTrue TrueTrue
Vincolo o espressioneConstraint or Expression TrueTrue FalseFalse TrueTrue
Vincolo o espressioneConstraint or Expression FalseFalse TrueTrue TrueTrue
Vincolo o espressioneConstraint or Expression FalseFalse FalseFalse FalseFalse

Scenari complessi con più vincoli di precedenzaComplex constraint scenarios with multiple precedence constraints

Un vincolo di precedenza consente di connettere due eseguibili, ad esempio due attività, due contenitori o un'attività e un contenitore.A precedence constraint connects two executables: two tasks, two containers, or one of each. Gli elementi connessi sono noti come eseguibile con precedenza ed eseguibile soggetto al vincolo.They are known as the precedence executable and the constrained executable. A un eseguibile soggetto a vincolo possono essere applicati più vincoli di precedenza.A constrained executable can have multiple precedence constraints. Per altre informazioni, vedere Vincoli di precedenza.For more information, see Precedence Constraints.

Raggruppando più vincoli è possibile definire scenari complessi, che consentono di implementare flussi di controllo complessi nei pacchetti.Assembling complex constraint scenarios by grouping constraints enables you to implement complex control flow in packages. Nella figura seguente, ad esempio, l'attività D è collegata all'attività A da un vincolo positivo , l'attività D è collegata all'attività B da un vincolo negativo e l'attività D è collegata all'attività C da un vincolo positivo .For example, in the following illustration, Task D is linked to Task A by a Success constraint, Task D is linked to Task B by a Failure constraint, and Task D is linked to Task C by a Success constraint. I vincoli di precedenza tra le attività D e A, tra le attività D e B e tra le attività D e C sono legati da una relazione logica e .The precedence constraints between Task D and Task A, between Task D and Task B, and between Task D and Task C participate in a logical and relationship. L'attività D viene quindi eseguita solo se l'attività A viene completata, l'attività B non viene eseguita e l'attività C deve essere eseguita correttamente.Therefore, for Task D to run, Task A must run successfully, Task B must fail, and Task C must run successfully.

Le attività collegate tramite vincoli di precedenzaTasks linked by precedence constraints

Proprietà LogicalAndLogicalAnd Property

Se a un'attività o a un contenitore sono applicati più vincoli, la proprietà LogicalAnd specificherà se il corrispondente vincolo di precedenza viene valutato singolarmente o insieme ad altri vincoli.If a task or a container has multiple constraints, the LogicalAnd property specifies whether a precedence constraint is evaluated singly or in concert with other constraints.

Per impostare la proprietà LogicalAnd è possibile usare Editor vincoli di precedenza in Progettazione SSISSSIS oppure la finestra Proprietà disponibile su SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT).You can set the LogicalAnd property using the Precedence Constraint Editor in SSISSSIS Designer, or in the Properties window that SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT) provides.

Impostare il valore predefinito per i vincoli di precedenzaSet the default value for precedence constraints

La prima volta che si usa Progettazione SSISSSIS , il valore predefinito di un vincolo di precedenza è Success.When you first use SSISSSIS Designer, the default value of a precedence constraint is Success. Eseguire la procedura seguente per configurare Progettazione SSISSSIS per l'utilizzo di un valore predefinito diverso per i vincoli di precedenza.Follow these steps to configure SSISSSIS Designer to use a different default value for precedence constraints.

  1. Aprire SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT).Open SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT).

  2. Scegliere Opzioni dal menu Strumenti.On the Tools menu, click Options.

  3. Nella finestra di dialogo Opzioni espandere Finestre di progettazione Business Intelligence e quindi espandere Finestre di progettazione Integration Services.In the Options dialog box, expand Business Intelligence Designers, and then expand Integration Services Designers.

  4. Fare clic su Connessione automatica flusso di controllo e selezionare Per impostazione predefinita connetti la nuova forma alla forma selezionata.Click Control Flow Auto Connect and select Connect a new shape to the selected shape by default.

  5. Nell'elenco a discesa selezionare Usa vincolo Esito negativo per la nuova forma oppure Usa vincolo Completamento per la nuova forma.In the drop-down list, choose either Use a Failure constraint for the new shape or Use a Completion constraint for the new shape.

  6. Scegliere OK.Click OK.

Creare un vincolo di precedenza predefinitoCreate a default precedence constraint

  1. In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT)aprire il progetto di Integration ServicesIntegration Services che contiene il pacchetto desiderato.In SQL Server Data Tools (SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. In Esplora soluzioni fare doppio clic sul pacchetto per aprirlo.In Solution Explorer, double-click the package to open it.

  3. Fare clic sulla scheda Flusso di controllo .Click the Control Flow tab.

  4. Nell'area di progettazione della scheda Flusso di controllo fare clic sull'attività o sul contenitore e trascinarne il connettore fino all'eseguibile a cui si desidera applicare il vincolo di precedenza.On the design surface of the Control Flow tab, click the task or container and drag its connector to the executable to which you want the precedence constraint to apply.

  5. Per salvare il pacchetto aggiornato, scegliere Salva elementi selezionati dal menu File .To save the updated package, click Save Selected Items on the File menu.