DTSPrecedenceEvalOp Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt die Auswertungsvorgänge an, die von der Rangfolgeneinschränkung verwendet werden.
public enum class DTSPrecedenceEvalOp
public enum DTSPrecedenceEvalOp
type DTSPrecedenceEvalOp =
Public Enum DTSPrecedenceEvalOp
- Vererbung
-
DTSPrecedenceEvalOp
Felder
Constraint | 2 | Gibt an, dass das Ausführungsergebnis bestimmt, ob der eingeschränkte Container oder Task ausgeführt wird. Legen Sie für die Value-Eigenschaft von PrecedenceConstraint den gewünschten Wert aus der DTSExecResult-Enumeration fest. |
Expression | 1 | Gibt an, dass der Wert eines Ausdrucks bestimmt, ob der eingeschränkte Container oder Task ausgeführt wird. Legen Sie die Expression-Eigenschaft von PrecedenceConstraint fest. |
ExpressionAndConstraint | 3 | Gibt an, dass das Einschränkungsergebnis auftreten und der Ausdruck ausgewertet werden muss, damit der eingeschränkte Container oder Task ausgeführt wird. Legen Sie sowohl die Value Eigenschaften des Werts als auch die Expression Eigenschaften des PrecedenceConstraintWerts fest, und legen Sie die LogicalAnd Eigenschaft auf true fest. |
ExpressionOrConstraint | 4 | Gibt an, dass entweder das Einschränkungsergebnis auftreten oder der Ausdruck ausgewertet werden muss, damit der eingeschränkte Container oder Task ausgeführt wird. Legen Sie sowohl die Value Eigenschaften des Objekts als auch LogicalAnd die Expression Eigenschaften des PrecedenceConstraintObjekts auf "false" fest. |
Beispiele
Im folgenden Codebeispiel werden drei Aufgaben erstellt und Vorrangeinschränkungen zwischen ihnen platziert. Mithilfe der PrecedenceConstraints Auflistung werden die Einschränkungen im Paket durchläuft, informationen zu jeder Einschränkung angezeigt, einschließlich der EvalOp Eigenschaft, die einen der Werte aus dieser Aufzählung enthält. Das Codebeispiel ändert dann den Wert der EvalOp Verwendung dieser Enumeration.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.BulkInsertTask;
using Microsoft.SqlServer.Dts.Tasks.FileSystemTask;
namespace PrecedenceConst
{
class Program
{
static void Main(string[] args)
{
Package pkg = new Package();
// Add a File System task.
Executable eFileTask1 = pkg.Executables.Add("STOCK:FileSystemTask");
TaskHost thFileTask1 = eFileTask1 as TaskHost;
// Add a second File System task.
Executable eFileTask2 = pkg.Executables.Add("STOCK:FileSystemTask");
TaskHost thFileTask2 = eFileTask2 as TaskHost;
// Add a Bulk Insert task.
Executable eBulkInsert = pkg.Executables.Add("STOCK:BulkInsertTask");
TaskHost thBulkInsert = eBulkInsert as TaskHost;
// Add a precedence contraint between eFileTask1 and eFileTask2.
// Set the constraint to be that eFileTask2 cannot run
// until eFileTask1 completes.
PrecedenceConstraint pcFileTasks = pkg.PrecedenceConstraints.Add(eFileTask1, eFileTask2);
pcFileTasks.Name = "constraint between File System Tasks";
// Add another precedence contraint. Add it between eFileTask2 and BulkInsert.
// Again, set the constraint to be that BulkInsert cannot run
// until eFileTask2 completes.
PrecedenceConstraint pcFiletoBulk = pkg.PrecedenceConstraints.Add(eFileTask2, eBulkInsert);
pcFileTasks.Name = "constraint between File System and Bulk Insert Tasks";
// Obtain the precedence constraint collection.
PrecedenceConstraints pConsts = pkg.PrecedenceConstraints;
Boolean containsConstraint = pkg.PrecedenceConstraints.Contains("constraint between File System and Bulk Insert Tasks");
Console.WriteLine("Contains the constraint between File System and Bulk Insert Tasks? {0}", containsConstraint);
foreach (PrecedenceConstraint pc in pConsts)
{
Console.WriteLine("Constrained container {0}", pc.ConstrainedExecutable);
Console.WriteLine("Evaluation operation {0}", pc.EvalOp);
Console.WriteLine("Evaluates true {0}", pc.EvaluatesTrue);
Console.WriteLine("ID {0}", pc.ID);
Console.WriteLine("LogicalAnd {0}", pc.LogicalAnd);
Console.WriteLine("Precedence Executable {0}", pc.PrecedenceExecutable);
Console.WriteLine("-----------------------------------");
}
// Set the EvalOp of the first constraint using the DtsPrecedenceEvalOp enumerator.
PrecedenceConstraint firstPC = pConsts[0];
firstPC.EvalOp = DTSPrecedenceEvalOp.Expression;
Console.WriteLine("Evaluation operation after {0}", firstPC.EvalOp);
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.BulkInsertTask
Imports Microsoft.SqlServer.Dts.Tasks.FileSystemTask
Namespace PrecedenceConst
Class Program
Shared Sub Main(ByVal args() As String)
Dim pkg As Package = New Package()
' Add a File System task.
Dim eFileTask1 As Executable = pkg.Executables.Add("STOCK:FileSystemTask")
Dim thFileTask1 As TaskHost = eFileTask1 as TaskHost
' Add a second File System task.
Dim eFileTask2 As Executable = pkg.Executables.Add("STOCK:FileSystemTask")
Dim thFileTask2 As TaskHost = eFileTask2 as TaskHost
' Add a Bulk Insert task.
Dim eBulkInsert As Executable = pkg.Executables.Add("STOCK:BulkInsertTask")
Dim thBulkInsert As TaskHost = eBulkInsert as TaskHost
' Add a precedence contraint between eFileTask1 and eFileTask2.
' Set the constraint to be that eFileTask2 cannot run
' until eFileTask1 completes.
Dim pcFileTasks As PrecedenceConstraint = pkg.PrecedenceConstraints.Add(eFileTask1,eFileTask2)
pcFileTasks.Name = "constraint between File System Tasks"
' Add another precedence contraint. Add it between eFileTask2 and BulkInsert.
' Again, set the constraint to be that BulkInsert cannot run
' until eFileTask2 completes.
Dim pcFiletoBulk As PrecedenceConstraint = pkg.PrecedenceConstraints.Add(eFileTask2,eBulkInsert)
pcFileTasks.Name = "constraint between File System and Bulk Insert Tasks"
' Obtain the precedence constraint collection.
Dim pConsts As PrecedenceConstraints = pkg.PrecedenceConstraints
Dim containsConstraint As Boolean = pkg.PrecedenceConstraints.Contains("constraint between File System and Bulk Insert Tasks")
Console.WriteLine("Contains the constraint between File System and Bulk Insert Tasks? {0}", containsConstraint)
Dim pc As PrecedenceConstraint
For Each pc In pConsts
Console.WriteLine("Constrained container {0}", pc.ConstrainedExecutable)
Console.WriteLine("Evaluation operation {0}", pc.EvalOp)
Console.WriteLine("Evaluates true {0}", pc.EvaluatesTrue)
Console.WriteLine("ID {0}", pc.ID)
Console.WriteLine("LogicalAnd {0}", pc.LogicalAnd)
Console.WriteLine("Precedence Executable {0}", pc.PrecedenceExecutable)
Console.WriteLine("-----------------------------------")
Next
' Set the EvalOp of the first constraint using the DtsPrecedenceEvalOp enumerator.
Dim firstPC As PrecedenceConstraint = pConsts(0)
firstPC.EvalOp = DTSPrecedenceEvalOp.Expression
Console.WriteLine("Evaluation operation after {0}", firstPC.EvalOp)
End Sub
End Class
End Namespace
Beispielausgabe:
Contains the constraint between File System and Bulk Insert Tasks? True
Constrained container Microsoft.SqlServer.Dts.Runtime.TaskHost
Evaluation operation Constraint
Evaluates true True
ID {0EDDD5B8-7135-4A73-B240-EDF54C0E66AC}
LogicalAnd True
Precedence Executable Microsoft.SqlServer.Dts.Runtime.TaskHost
-----------------------------------
Constrained container Microsoft.SqlServer.Dts.Runtime.TaskHost
Evaluation operation Constraint
Evaluates true True
ID {80584B94-A3D0-4E08-B9C1-8CCC7BD7D086}
LogicalAnd True
Precedence Executable Microsoft.SqlServer.Dts.Runtime.TaskHost
-----------------------------------
Evaluation operation after Expression
Hinweise
Das Rangfolgeelement ist der Vorgang oder Container, dessen Ausdruck oder Ausführungsergebnis (Abschluss, Erfolg oder Fehler) bestimmt, ob der nächste Vorgang oder der nächste Container, das eingeschränkte Element, ausgeführt wird. Standardwert: Constraint. Weitere Informationen finden Sie unter Rangfolgeneinschränkungen.