Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
SSIS Integration Runtime em Azure Data Factory
Uma restrição de precedência, representada no modelo de objetos pela PrecedenceConstraint classe, estabelece a ordem em que Executable os objetos são executados num pacote. A restrição de precedência permite que a execução dos contentores e tarefas num pacote dependa do resultado da execução de uma tarefa ou contentor anterior. As restrições de precedência são estabelecidas entre pares de Executable objetos chamando o Add método da PrecedenceConstraints coleção no objeto contentor. Depois de criar uma restrição entre dois objetos executáveis, define a Value propriedade para estabelecer os critérios para executar o segundo executável definido na restrição.
Pode usar tanto uma restrição como uma expressão numa única restrição de precedência, dependendo do valor que especifica para a EvalOp propriedade, conforme descrito na tabela seguinte:
| Valor da propriedade EvalOp | Description |
|---|---|
| Constraint | Especifica que o resultado da execução determina se o contentor restrito ou a tarefa é executado. Defina a Value propriedade de para PrecedenceConstraint o valor desejado da DTSExecResult enumeração. |
| Expression | Especifica que o valor de uma expressão determina se o contentor ou a tarefa restrita é executada. Defina a Expression propriedade do PrecedenceConstraint. |
| ExpressionAndConstraint | Especifica que o resultado da restrição deve ocorrer e a expressão deve avaliar para que o contentor ou tarefa restrita seja executado. Defina tanto as propriedades como Value as Expression de PrecedenceConstraint, e defina a sua LogicalAnd propriedade como verdadeira. |
| ExpressionOrConstraint | Especifica que ou o resultado da restrição deve ocorrer, ou a expressão deve ser avaliada, para que o contentor ou tarefa restrita seja executado. Defina tanto as propriedades como Value as Expression de PrecedenceConstraint, e defina a sua LogicalAnd propriedade como falso. |
O exemplo de código seguinte demonstra como adicionar duas tarefas a um pacote. É criado um PrecedenceConstraint A entre eles que impede que a segunda tarefa seja executada até a primeira tarefa terminar.
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace Microsoft.SqlServer.Dts.Samples
{
class Program
{
static void Main(string[] args)
{
Package p = new Package();
// Add a File System task.
Executable eFileTask1 = p.Executables.Add("STOCK:FileSystemTask");
TaskHost thFileHost1 = eFileTask1 as TaskHost;
// Add a second File System task.
Executable eFileTask2 = p.Executables.Add("STOCK:FileSystemTask");
TaskHost thFileHost2 = eFileTask2 as TaskHost;
// Put a precedence constraint between the tasks.
// Set the constraint to specify that the second File System task cannot run
// until the first File System task finishes.
PrecedenceConstraint pcFileTasks =
p.PrecedenceConstraints.Add((Executable)thFileHost1, (Executable)thFileHost2);
pcFileTasks.Value = DTSExecResult.Completion;
}
}
}
Imports Microsoft.SqlServer.Dts.Runtime
Module Module1
Sub Main()
Dim p As Package = New Package()
' Add a File System task.
Dim eFileTask1 As Executable = p.Executables.Add("STOCK:FileSystemTask")
Dim thFileHost1 As TaskHost = CType(eFileTask1, TaskHost)
' Add a second File System task.
Dim eFileTask2 As Executable = p.Executables.Add("STOCK:FileSystemTask")
Dim thFileHost2 As TaskHost = CType(eFileTask2, TaskHost)
' Put a precedence constraint between the tasks.
' Set the constraint to specify that the second File System task cannot run
' until the first File System task finishes.
Dim pcFileTasks As PrecedenceConstraint = _
p.PrecedenceConstraints.Add(CType(thFileHost1, Executable), CType(thFileHost2, Executable))
pcFileTasks.Value = DTSExecResult.Completion
End Sub
End Module