共用方式為


PrecedenceConstraint.EvalOp Property

Definition

Gets or sets the evaluation operations used by the precedence constraint.

public:
 property Microsoft::SqlServer::Dts::Runtime::DTSPrecedenceEvalOp EvalOp { Microsoft::SqlServer::Dts::Runtime::DTSPrecedenceEvalOp get(); void set(Microsoft::SqlServer::Dts::Runtime::DTSPrecedenceEvalOp value); };
[Microsoft.SqlServer.Dts.Runtime.Localization.LocalizablePropertyDescription(typeof(Microsoft.SqlServer.Dts.Runtime.Localized), "PCEvalOpDesc")]
public Microsoft.SqlServer.Dts.Runtime.DTSPrecedenceEvalOp EvalOp { get; set; }
[<Microsoft.SqlServer.Dts.Runtime.Localization.LocalizablePropertyDescription(typeof(Microsoft.SqlServer.Dts.Runtime.Localized), "PCEvalOpDesc")>]
member this.EvalOp : Microsoft.SqlServer.Dts.Runtime.DTSPrecedenceEvalOp with get, set
Public Property EvalOp As DTSPrecedenceEvalOp

Property Value

A value from the DTSPrecedenceEvalOp enumeration.

Attributes

Examples

The following code example creates three tasks, and connects them by using precedence constraints. The sample then iterates over the constraints in the PrecedenceConstraints collection of the package, printing information about each constraint.

using System;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  

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);  

            // 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);  

            // Obtain the precedence constraint collection, and display properties.  
            // Some properties are read/write and have not been set.  
            PrecedenceConstraints pConsts = pkg.PrecedenceConstraints;  
            foreach (PrecedenceConstraint pc in pConsts)  
            {  
                Console.WriteLine("Constrained container  {0}", pc.ConstrainedExecutable);  
                Console.WriteLine("Creation Name          {0}", pc.CreationName);  
                Console.WriteLine("Description            {0}", pc.Description);  
                Console.WriteLine("Evaluation operation   {0}", pc.EvalOp);  
                Console.WriteLine("Evaluates true         {0}", pc.EvaluatesTrue);  
                Console.WriteLine("Expression             {0}", pc.Expression);  
                Console.WriteLine("ID                     {0}", pc.ID);  
                Console.WriteLine("LogicalAnd             {0}", pc.LogicalAnd);  
                Console.WriteLine("Name                   {0}", pc.Name);  
                Console.WriteLine("Precedence Executable  {0}", pc.PrecedenceExecutable);  
                Console.WriteLine("Value                  {0}", pc.Value);  
                Console.WriteLine("-----------------------------------");  
            }  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime  

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)   

            ' 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)   

            ' Obtain the precedence constraint collection, and display properties.  
            ' Some properties are read/write and have not been set.  
            Dim pConsts As PrecedenceConstraints =  pkg.PrecedenceConstraints   
            Dim pc As PrecedenceConstraint  
            For Each pc In pConsts  
                Console.WriteLine("Constrained container  {0}", pc.ConstrainedExecutable)  
                Console.WriteLine("Creation Name          {0}", pc.CreationName)  
                Console.WriteLine("Description            {0}", pc.Description)  
                Console.WriteLine("Evaluation operation   {0}", pc.EvalOp)  
                Console.WriteLine("Evaluates true         {0}", pc.EvaluatesTrue)  
                Console.WriteLine("Expression             {0}", pc.Expression)  
                Console.WriteLine("ID                     {0}", pc.ID)  
                Console.WriteLine("LogicalAnd             {0}", pc.LogicalAnd)  
                Console.WriteLine("Name                   {0}", pc.Name)  
                Console.WriteLine("Precedence Executable  {0}", pc.PrecedenceExecutable)  
                Console.WriteLine("Value                  {0}", pc.Value)  
                Console.WriteLine("-----------------------------------")  
            Next  
        End Sub  
    End Class  
End Namespace  

Sample Output:

Constrained container Microsoft.SqlServer.Dts.Runtime.TaskHost

Creation Name

Description

Evaluation operation Constraint

Evaluates true True

Expression

ID {BA20A288-545D-4E48-864A-E6AF6C3B9AEE}

LogicalAnd True

Name {BA20A288-545D-4E48-864A-E6AF6C3B9AEE}

Precedence Executable Microsoft.SqlServer.Dts.Runtime.TaskHost

Value Success

-----------------------------------

Constrained container Microsoft.SqlServer.Dts.Runtime.TaskHost

Creation Name

Description

Evaluation operation Constraint

Evaluates true True

Expression

ID {E8DBC95E-AF27-45D7-B961-17E908CC4530}

LogicalAnd True

Name {E8DBC95E-AF27-45D7-B961-17E908CC4530}

Precedence Executable Microsoft.SqlServer.Dts.Runtime.TaskHost

Value Success

-----------------------------------

Remarks

The values in the enumeration

A precedence constraint links two executables: the precedence executable and the constrained executable. The precedence executable runs before the constrained executable, and the execution result of the precedence executable may determine whether the constrained executable runs. Whether or not the execution result of the precedence executable determines if the constrained executable runs is dependent on this property setting.

Applies to