ForEachLoop.PrecedenceConstraints 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 PrecedenceConstraints que contiene todas las restricciones de precedencia asociadas al bucle ForEachLoop.
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
Valor de propiedad
Colección PrecedenceConstraints.
Implementaciones
Ejemplos
En el ejemplo de código siguiente se crea y ForEachLoop se establecen algunas propiedades mediante la Properties colección . Se agregan dos tareas a la Executables colección y se coloca una restricción de precedencia entre ellas.
// Create the package.
Package package = new Package();
// Add variables.
package.Variables.Add("Id", false, "User", 0);
// Create ForEachLoop task
Executables executables = package.Executables;
ForEachLoop forEachLoop = executables.Add("STOCK:FOREACHLOOP") as ForEachLoop;
// The ForEachLoop is a container. Add some task executables and
// create a precedence constraint. The tasks can run when
// certain conditions in the loop are met.
TaskHost thLoopMail = (TaskHost)forEachLoop.Executables.Add("STOCK:SendMailTask");
TaskHost thLoopInsert = (TaskHost)forEachLoop.Executables.Add("STOCK:BulkInsertTask");
Executables loopExecs = forEachLoop.Executables;
Console.WriteLine("Number of Executables in ForLoop: {0}", loopExecs.Count);
// Like other containers, precedence constraints can be set on the
// contained tasks.
PrecedenceConstraint pc = forEachLoop.PrecedenceConstraints.Add((Executable)thLoopMail, thLoopInsert);
PrecedenceConstraints pcs = forEachLoop.PrecedenceConstraints;
Console.WriteLine("Number of precedence constraints: {0}", pcs.Count);
' Create the package.
Dim package As Package = New Package()
' Add variables.
package.Variables.Add("Id", False, "User", 0)
' Create ForEachLoop task
Dim executables As Executables = package.Executables
Dim forEachLoop As ForEachLoop = executables.Add("STOCK:FOREACHLOOP") as ForEachLoop
' The ForEachLoop is a container. Add some task executables and
' create a precedence constraint. The tasks can run when
' certain conditions in the loop are met.
Dim thLoopMail As TaskHost = CType(forEachLoop.Executables.Add("STOCK:SendMailTask"), TaskHost)
Dim thLoopInsert As TaskHost = CType(forEachLoop.Executables.Add("STOCK:BulkInsertTask"), TaskHost)
Dim loopExecs As Executables = forEachLoop.Executables
Console.WriteLine("Number of Executables in ForLoop: {0}", loopExecs.Count)
' Like other containers, precedence constraints can be set on the
' contained tasks.
Dim pc As PrecedenceConstraint = forEachLoop.PrecedenceConstraints.Add(CType(thLoopMail,thLoopInsert, Executable))
Dim pcs As PrecedenceConstraints = forEachLoop.PrecedenceConstraints
Console.WriteLine("Number of precedence constraints: {0}", pcs.Count)
Salida del ejemplo:
Número de ejecutables en ForLoop: 2
Número de restricciones de precedencia: 1
Comentarios
El orden de ejecución de los objetos de la colección viene determinado por el PrecedenceConstraints agregado al contenedor. PrecedenceConstraints permitir la bifurcación de ejecución en función del éxito, error o finalización de un archivo ejecutable en la colección.