Partager via


Sequence.PrecedenceConstraints Propriété

Définition

Retourne une collection d'objets PrecedenceConstraint décrivant les contraintes de précédence qui lient les conteneurs et les tâches de niveau conteneur pour former un flux de contrôle ordonné.

public:
 property Microsoft::SqlServer::Dts::Runtime::PrecedenceConstraints ^ PrecedenceConstraints { Microsoft::SqlServer::Dts::Runtime::PrecedenceConstraints ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.PrecedenceConstraints PrecedenceConstraints { get; }
member this.PrecedenceConstraints : Microsoft.SqlServer.Dts.Runtime.PrecedenceConstraints
Public ReadOnly Property PrecedenceConstraints As PrecedenceConstraints

Valeur de propriété

Collection PrecedenceConstraints.

Implémente

Exemples

L’exemple de code suivant crée un Sequence objet et crée trois tâches, en plaçant les contraintes de priorité entre elles. À l’aide de la PrecedenceConstraints collection, itère sur les contraintes dans les Sequenceinformations d’impression sur chaque contrainte.

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

namespace Sequence_API  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Package package = new Package();  
            Sequence seq = (Sequence)package.Executables.Add("STOCK:SEQUENCE");  

            // Add a File System task.  
            Executable eFileTask1 = seq.Executables.Add("STOCK:FileSystemTask");  
            TaskHost thFileTask1 = eFileTask1 as TaskHost;  

            // Add a second File System task.  
            Executable eFileTask2 = seq.Executables.Add("STOCK:FileSystemTask");  
            TaskHost thFileTask2 = eFileTask2 as TaskHost;  

            // Add a Bulk Insert task.  
            Executable eBulkInsert = seq.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 = seq.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 = seq.PrecedenceConstraints.Add(eFileTask2, eBulkInsert);  
            // Obtain the precedence constraint collection, and display properties.  
            // Some properties are read/write and have not been set.  
            PrecedenceConstraints seqPCs = seq.PrecedenceConstraints;  
            int numPCs = seqPCs.Count;  
            Console.WriteLine("Number of precedence constraints in Sequence: {0}", numPCs);  
            Console.WriteLine("----------------------------------------");  

            foreach (PrecedenceConstraint pc in seqPCs)  
            {  
                Console.WriteLine("Constrained container  {0}", pc.ConstrainedExecutable);  
                Console.WriteLine("Description            {0}", pc.Description);  
                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("Name                   {0}", pc.Name);  
                Console.WriteLine("Precedence Executable  {0}", pc.PrecedenceExecutable);  
                Console.WriteLine("Value                  {0}", pc.Value);  
                Console.WriteLine("-----------------------------------");  
            }  
            Executables seqExecs = seq.Executables;  
            int numExecs = seqExecs.Count;  
            Console.WriteLine("Number of Executables in Sequence: {0}", numExecs);  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text    
Imports Microsoft.SqlServer.Dts.Runtime  
Imports Microsoft.SqlServer.Dts.Tasks. FileSystemTask  

Namespace Sequence_API  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            Dim package As Package =  New Package()   
            Dim seq As Sequence = CType(package.Executables.Add("STOCK:SEQUENCE"), Sequence)  

            ' Add a File System task.  
            Dim eFileTask1 As Executable =  seq.Executables.Add("STOCK:FileSystemTask")   
            Dim thFileTask1 As TaskHost =  eFileTask1 as TaskHost   

            ' Add a second File System task.  
            Dim eFileTask2 As Executable =  seq.Executables.Add("STOCK:FileSystemTask")   
            Dim thFileTask2 As TaskHost =  eFileTask2 as TaskHost   

            ' Add a Bulk Insert task.  
            Dim eBulkInsert As Executable =  seq.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 =  seq.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 =  seq.PrecedenceConstraints.Add(eFileTask2,eBulkInsert)   
            ' Obtain the precedence constraint collection, and display properties.  
            ' Some properties are read/write and have not been set.  
            Dim seqPCs As PrecedenceConstraints =  seq.PrecedenceConstraints   
            Dim numPCs As Integer =  seqPCs.Count   
            Console.WriteLine("Number of precedence constraints in Sequence: {0}", numPCs)  
            Console.WriteLine("----------------------------------------")  

            Dim pc As PrecedenceConstraint  
            For Each pc In seqPCs  
                Console.WriteLine("Constrained container  {0}", pc.ConstrainedExecutable)  
                Console.WriteLine("Description            {0}", pc.Description)  
                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("Name                   {0}", pc.Name)  
                Console.WriteLine("Precedence Executable  {0}", pc.PrecedenceExecutable)  
                Console.WriteLine("Value                  {0}", pc.Value)  
                Console.WriteLine("-----------------------------------")  
            Next  
            Dim seqExecs As Executables =  seq.Executables   
            Dim numExecs As Integer =  seqExecs.Count   
            Console.WriteLine("Number of Executables in Sequence: {0}", numExecs)  
        End Sub  
    End Class  
End Namespace  

Exemple de sortie :

Nombre de contraintes de priorité dans la séquence : 2

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

Conteneur contraint Microsoft.SqlServer.Dts.Runtime.TaskHost

Description

Contrainte d’opération d’évaluation

Évalue true

ID {A4F5C0E6-A9A6-470D-9646-7FEAFE3B45AD}

LogicalAnd True

Nom {A4F5C0E6-A9A6-470D-9646-7FEAFE3B45AD}

Précédence exécutable Microsoft.SqlServer.Dts.Runtime.TaskHost

Réussite de la valeur

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

Conteneur contraint Microsoft.SqlServer.Dts.Runtime.TaskHost

Description

Contrainte d’opération d’évaluation

Évalue true

ID {665C52DE-232A-4593-ADF1-7C51949712B8}

LogicalAnd True

Nom {665C52DE-232A-4593-ADF1-7C51949712B8}

Précédence exécutable Microsoft.SqlServer.Dts.Runtime.TaskHost

Réussite de la valeur

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

Nombre d’exécutables dans la séquence : 3

Remarques

Les contraintes de priorité relient les conteneurs et les tâches à un flux de travail ordonné. Vous pouvez implémenter des contraintes de priorité entre tous les types de conteneurs et de tâches à l’exception des packages. Pour plus d’informations, consultez Contraintes de précédence.

S’applique à