Sequence.PrecedenceConstraints Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce una raccolta di oggetti PrecedenceConstraint che descrivono i vincoli di precedenza che collegano contenitori e attività a livello di contenitore in un flusso di controllo ordinato
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
Valore della proprietà
Raccolta PrecedenceConstraints.
Implementazioni
Esempio
Nell'esempio di codice seguente viene creato un Sequence oggetto e vengono create tre attività, inserendo vincoli di precedenza tra di essi. Usando la raccolta, esegue l'iterazione PrecedenceConstraints dei vincoli in Sequence, stampando le informazioni su ogni vincolo.
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
Esempio di output
Numero di vincoli di precedenza nella sequenza: 2
----------------------------------------
Contenitore vincolato Microsoft.SqlServer.Dts.Runtime.TaskHost
Descrizione
Vincolo dell'operazione di valutazione
Valuta true True
ID {A4F5C0E6-A9A6-470D-9646-7FEAFE3B45AD}
LogicalAnd True
Nome {A4F5C0E6-A9A6-470D-9646-7FEAFE3B45AD}
Precedenza eseguibile Microsoft.SqlServer.Dts.Runtime.TaskHost
Valore esito positivo
-----------------------------------
Contenitore vincolato Microsoft.SqlServer.Dts.Runtime.TaskHost
Descrizione
Vincolo dell'operazione di valutazione
Valuta true True
ID {665C52DE-232A-4593-ADF1-7C51949712B8}
LogicalAnd True
Nome {665C52DE-232A-4593-ADF1-7C51949712B8}
Precedenza eseguibile Microsoft.SqlServer.Dts.Runtime.TaskHost
Valore esito positivo
-----------------------------------
Numero di eseguibili nella sequenza: 3
Commenti
I vincoli di precedenza collegano contenitori e attività a un flusso di lavoro ordinato. È possibile implementare vincoli di precedenza tra tutti i tipi di contenitori e attività, ad eccezione dei pacchetti. Per altre informazioni, vedere Vincoli di precedenza.