Görevleri program aracılığıyla bağlanma
Nesne modelinde tarafından temsil edilen bir öncelik kısıtlaması PrecedenceConstraint sınıf, hangi sırayla kurar Executable nesnelerini çalıştırmak paket.Öncelik kısıtlaması kapsayıcılar ve görevleri yürütme paket önceki görev veya kapsayıcı yürütülmesini sonucu üzerinde bağımlı olmasını sağlar.Öncelik kısıtlamaları çiftleri arasında kurulan Executable çağırarak nesneleri Add yöntem, PrecedenceConstraints koleksiyon kapsayıcı nesnesi.İki yürütülebilir nesneler arasında bir kısıtlama oluşturduktan sonra küme Value ikinci yürütülebilir dosyayı çalıştırmak için ölçütleri oluşturma özellik tanımlı kısıtlama.
Bir tek önceliği kısıtlaması için belirttiğiniz değere bağlı olarak bir sınırlama hem de bir ifade kullanabilirsiniz EvalOp özelliği aşağıdaki açıklandığı gibi tablo:
EvalOp değeriözellik |
Açıklama |
---|---|
[ F:Microsoft.SqlServer.Dts.Runtime.DTSPrecedenceEvalOp.Constraint ] |
Yürütme sonucu kısıtlanmış kapsayıcı veya görev çalışıp çalışmayacağını belirler belirtir.Set Value özellik PrecedenceConstraint için istenen değerden DTSExecResult numaralandırma. |
[ F:Microsoft.SqlServer.Dts.Runtime.DTSPrecedenceEvalOp.Expression ] |
Belirleyen bir değeri, bir ifade kısıtlanmış kapsayıcı veya görev çalışıp çalışmayacağını belirler.Set Expression özellik PrecedenceConstraint. |
[ F:Microsoft.SqlServer.Dts.Runtime.DTSPrecedenceEvalOp.ExpressionAndConstraint ] |
Kısıtlama sonucu gerçekleşmelidir ve ifade kısıtlanmış kapsayıcı veya çalıştırılacak görev için değerlendirmelidir belirtir.Her ikisi de küme Value ve Expression özelliklerini PrecedenceConstraintve onun LogicalAnd özellik için true. |
[ F:Microsoft.SqlServer.Dts.Runtime.DTSPrecedenceEvalOp.ExpressionOrConstraint ] |
Kısıtlama sonucu gerçekleşmesi gerekir ya da ifade, kısıtlanmış kapsayıcı veya çalıştırılacak görev için değerlendirmek gerekir olduğunu belirtir.Her ikisi de küme Value ve Expression özelliklerini PrecedenceConstraintve onun LogicalAnd özellik için false. |
Aşağıdaki kod örneği, iki görev için paket ekleme gösterilmiştir.A PrecedenceConstraint ikinci görevin kadar çalışmasını engelleyen aralarında oluşturulduilk görev tamamlanmadan.
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace Microsoft.SqlServer.Dts.Samples
{
class Program
{
static void Main(string[] args)
{
Package p = new Package();
// Add a File System task.
Executable eFileTask1 = p.Executables.Add("STOCK:FileSystemTask");
TaskHost thFileHost1 = eFileTask1 as TaskHost;
// Add a second File System task.
Executable eFileTask2 = p.Executables.Add("STOCK:FileSystemTask");
TaskHost thFileHost2 = eFileTask2 as TaskHost;
// Put a precedence constraint between the tasks.
// Set the constraint to specify that the second File System task cannot run
// until the first File System task finishes.
PrecedenceConstraint pcFileTasks =
p.PrecedenceConstraints.Add((Executable)thFileHost1, (Executable)thFileHost2);
pcFileTasks.Value = DTSExecResult.Completion;
}
}
}
Imports Microsoft.SqlServer.Dts.Runtime
Module Module1
Sub Main()
Dim p As Package = New Package()
' Add a File System task.
Dim eFileTask1 As Executable = p.Executables.Add("STOCK:FileSystemTask")
Dim thFileHost1 As TaskHost = CType(eFileTask1, TaskHost)
' Add a second File System task.
Dim eFileTask2 As Executable = p.Executables.Add("STOCK:FileSystemTask")
Dim thFileHost2 As TaskHost = CType(eFileTask2, TaskHost)
' Put a precedence constraint between the tasks.
' Set the constraint to specify that the second File System task cannot run
' until the first File System task finishes.
Dim pcFileTasks As PrecedenceConstraint = _
p.PrecedenceConstraints.Add(CType(thFileHost1, Executable), CType(thFileHost2, Executable))
pcFileTasks.Value = DTSExecResult.Completion
End Sub
End Module
|