DTSPrecedenceEvalOp 열거형

정의

선행 제약 조건에서 사용하는 평가 작업을 나타냅니다.

public enum class DTSPrecedenceEvalOp
public enum DTSPrecedenceEvalOp
type DTSPrecedenceEvalOp = 
Public Enum DTSPrecedenceEvalOp
상속
DTSPrecedenceEvalOp

필드

Constraint 2

실행 결과에 따라 제약 조건이 지정된 컨테이너 또는 태스크의 실행 여부가 결정되도록 지정합니다. ValuePrecedenceConstraint 속성을 DTSExecResult 열거형에서 원하는 값으로 설정합니다.

Expression 1

식의 값에 따라 제약 조건이 지정된 컨테이너 또는 태스크의 실행 여부가 결정되도록 지정합니다. ExpressionPrecedenceConstraint 속성을 설정합니다.

ExpressionAndConstraint 3

제약 조건 결과가 발생해야 하며 식에서 제약 조건이 지정된 컨테이너 또는 태스크의 실행을 평가해야 하도록 지정합니다. 의 Value 속성과 Expression 속성을 PrecedenceConstraint모두 설정하고 해당 LogicalAnd 속성을 true로 설정합니다.

ExpressionOrConstraint 4

제약 조건 결과가 발생해야 하거나 식에서 제약 조건이 지정된 컨테이너 또는 태스크의 실행을 평가해야 하도록 지정합니다. 의 Value 속성과 Expression 속성을 PrecedenceConstraint모두 설정하고 해당 LogicalAnd 속성을 false로 설정합니다.

예제

다음 코드 예제에서는 세 개의 태스크를 만들고 둘 사이에 우선 순위 제약 조건을 배치합니다. 컬렉션을 사용하여 패키지의 PrecedenceConstraints 제약 조건을 반복하여 이 열거형의 값 중 하나를 포함하는 속성을 포함하여 EvalOp 각 제약 조건에 대한 정보를 표시합니다. 그런 다음 코드 예제에서는 이 열거형을 EvalOp 사용하는 값을 변경합니다.

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  

샘플 출력:

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

설명

우선 순위 항목은 식 또는 실행 결과(완료, 성공 또는 실패)가 다음 작업 또는 컨테이너, 제한된 항목이 실행되는지 여부를 결정하는 태스크 또는 컨테이너입니다. 기본값은 Constraint입니다. 자세한 내용은 Precedence Constraints을(를) 참조하세요.

적용 대상