Språk
Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
SSIS Integration Runtime i Azure Data Factory
En prejudikationsbegränsning, representerad i objektmodellen av PrecedenceConstraint klassen, fastställer ordningen i vilken Executable objekt körs i ett paket. Precedensbegränsningen tillåter att utförandet av containrar och uppgifter i ett paket är beroende av resultatet av exekveringen av en tidigare uppgift eller container. Prejuensbegränsningar etableras mellan par av Executable objekt genom att anropa Add metoden för samlingen PrecedenceConstraints på containerobjektet. Efter att du skapat en begränsning mellan två exekverbara objekt sätter du egenskapen Value för att fastställa kriterierna för att köra den andra exekverbara filen som definieras i begränsningen.
Du kan använda både en begränsning och ett uttryck i en och samma prejudikationsbegränsning, beroende på vilket värde du anger för egenskapen EvalOp , som beskrivs i följande tabell:
| Värdet på EvalOp-egenskapen | Description |
|---|---|
| Constraint | Specificerar att exekveringsresultatet avgör om den begränsade containern eller uppgiften körs. Sätt egenskapen Value för till PrecedenceConstraint det önskade värdet från uppräkningen DTSExecResult . |
| Expression | Specificerar att värdet på ett uttryck avgör om den begränsade behållaren eller uppgiften körs. Sätt egenskapen Expression för .PrecedenceConstraint |
| ExpressionAndConstraint | Specificerar att begränsningsresultatet måste inträffa och uttrycket måste utvärdera för att den begränsade behållaren eller uppgiften ska köras. Sätt både och Value egenskaperna Expression för PrecedenceConstraint, och sätt dess LogicalAnd egenskap till sann. |
| ExpressionOrConstraint | Specificerar att antingen måste begränsningsresultatet inträffa, eller uttrycket måste utvärdera, för att den begränsade behållaren eller uppgiften ska kunna köras. Sätt både och Value egenskaperna Expression hos PrecedenceConstraint, och sätt dess LogicalAnd egenskap till falsk. |
Följande kodexempel visar att man lägger till två uppgifter i ett paket. En skapas mellan dem som förhindrar att den andra uppgiften körs tills den första uppgiften PrecedenceConstraint är klar.
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