Sequence.Executables Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve una colección de objetos ejecutables procesada por el motor en tiempo de ejecución durante la ejecución de este contenedor de secuencias. Esta propiedad es de sólo lectura.
public:
property Microsoft::SqlServer::Dts::Runtime::Executables ^ Executables { Microsoft::SqlServer::Dts::Runtime::Executables ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.Executables Executables { get; }
member this.Executables : Microsoft.SqlServer.Dts.Runtime.Executables
Public ReadOnly Property Executables As Executables
Valor de propiedad
Colección Executables que contiene objetos Executable.
Implementaciones
Ejemplos
En el ejemplo de código siguiente se crea un Sequence objeto y se crean tres tareas, lo que coloca restricciones de precedencia entre ellos. Con la Executables colección , muestra el número de ejecutables contenidos en el Sequence contenedor.
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
Salida del ejemplo:
Número de restricciones de precedencia en secuencia: 2
----------------------------------------
Contenedor restringido Microsoft.SqlServer.Dts.Runtime.TaskHost
Descripción
Restricción de operación de evaluación
Evalúa true True
Id. {A4F5C0E6-A9A6-470D-9646-7FEAFE3B45AD}
LogicalAnd True
Nombre {A4F5C0E6-A9A6-470D-9646-7FEAFE3B45AD}
Ejecutable de precedencia Microsoft.SqlServer.Dts.Runtime.TaskHost
Valor correcto
-----------------------------------
Contenedor restringido Microsoft.SqlServer.Dts.Runtime.TaskHost
Descripción
Restricción de operación de evaluación
Evalúa true True
Id. {665C52DE-232A-4593-ADF1-7C51949712B8}
LogicalAnd True
Nombre {665C52DE-232A-4593-ADF1-7C51949712B8}
Ejecutable de precedencia Microsoft.SqlServer.Dts.Runtime.TaskHost
Valor correcto
-----------------------------------
Número de ejecutables en secuencia: 3