Partager via


DTSPrecedenceEvalOp Énumération

Définition

Indique les opérations d'évaluation utilisées par la contrainte de précédence.

public enum class DTSPrecedenceEvalOp
public enum DTSPrecedenceEvalOp
type DTSPrecedenceEvalOp = 
Public Enum DTSPrecedenceEvalOp
Héritage
DTSPrecedenceEvalOp

Champs

Constraint 2

Spécifie que le résultat de l'exécution détermine l'exécution de la tâche ou du conteneur contraint. Affectez la valeur souhaitée de l'énumération Value à la propriété PrecedenceConstraint de DTSExecResult.

Expression 1

Spécifie que la valeur d'une expression détermine l'exécution de la tâche ou du conteneur contraint. Définissez la propriété Expression de PrecedenceConstraint.

ExpressionAndConstraint 3

Spécifie que la contrainte doit produire un résultat et que l'expression doit prendre une valeur, pour que la tâche ou le conteneur contraint s'exécute. Définissez à la fois les Value propriétés et les ExpressionPrecedenceConstraintpropriétés du , et définissez sa LogicalAnd propriété sur true.

ExpressionOrConstraint 4

Spécifie que la contrainte doit produire un résultat ou que l'expression doit prendre une valeur, pour que la tâche ou le conteneur contraint s'exécute. Définissez à la fois les Value propriétés et les ExpressionPrecedenceConstraintpropriétés du , et définissez sa LogicalAnd propriété sur false.

Exemples

L’exemple de code suivant crée trois tâches et place des contraintes de priorité entre elles. À l’aide de la PrecedenceConstraints collection, itère sur les contraintes du package, affichant des informations sur chaque contrainte, y compris la EvalOp propriété, qui contient l’une des valeurs de cette énumération. L’exemple de code modifie ensuite la valeur de l’utilisation de EvalOp cette énumération.

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  

Exemple de sortie :

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

Remarques

L’élément de précédence est la tâche ou le conteneur dont l’expression ou le résultat d’exécution (achèvement, réussite ou échec) détermine si la tâche ou le conteneur suivant, l’élément contraint, s’exécute. La valeur par défaut est Constraint. Pour plus d’informations, consultez Contraintes de précédence.

S’applique à