Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Środowisko SSIS Integration Runtime w usłudze Azure Data Factory
Ograniczenie precedencji, reprezentowane w modelu obiektowym przez klasę PrecedenceConstraint , ustala kolejność uruchamiania Executable obiektów w pakiecie. Ograniczenie precedensu pozwala na zależność wykonywania kontenerów i zadań w pakiecie od wyniku wykonania poprzedniego zadania lub kontenera. Ograniczenia precedencyjne ustalane są między parami obiektów Executable poprzez wywołanie Add metody kolekcji PrecedenceConstraints na obiekcie kontenerowym. Po utworzeniu ograniczenia między dwoma obiektami wykonywalnymi, ustawiasz Value tę właściwość, aby ustalić kryteria wykonania drugiego pliku wykonywalnego zdefiniowanego w tym ograniczeniu.
Możesz używać zarówno ograniczenia, jak i wyrażenia w jednym ograniczeniu precedencji, w zależności od wartości przypisanej dla tej EvalOp właściwości, jak opisano w poniższej tabeli:
| Wartość właściwości EvalOp | Description |
|---|---|
| Constraint | Określa, że wynik wykonania decyduje o tym, czy ograniczony kontener lub zadanie zostanie uruchomione. Ustaw właściwość Value na PrecedenceConstraint pożądaną wartość z DTSExecResult wyliczenia. |
| Expression | Określa, że wartość wyrażenia decyduje o tym, czy ograniczony kontener lub zadanie zostanie uruchomione. Ustaw Expression własność .PrecedenceConstraint |
| ExpressionAndConstraint | Określa, że wynik ograniczenia musi nastąpić, a wyrażenie musi być wyliczone, aby ograniczony kontener lub zadanie mogło się uruchomić. Ustaw zarówno , Value jak i Expression właściwości , PrecedenceConstrainti ustaw LogicalAnd jego własność na prawdę. |
| ExpressionOrConstraint | Określa, że wynik ograniczenia musi nastąpić lub wyrażenie musi być ocenione, aby ograniczony kontener lub zadanie mogło się uruchomić. Ustaw zarówno własności , ValuePrecedenceConstraintjak i Expression , i ustaw LogicalAnd jego własność na fałsz. |
Poniższy przykład kodu demonstruje dodanie dwóch zadań do pakietu. Między nimi tworzy się A, PrecedenceConstraint która uniemożliwia uruchomienie drugiego zadania aż do zakończenia pierwszego.
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