Görevleri program aracılığıyla bağlanma
Öncelik kısıtlaması, nesne modeli tarafından temsil PrecedenceConstraintsınıf, hangi sırayla kurar Executablenesnelerini çalıştırmak bir paketi. Öncelik kısıtlaması kapsayıcılar ve görevleri yürütme paketi önceki görev veya kapsayıcı yürütülmesini sonucu üzerinde bağımlı verir. Öncelik kısıtlamaları çiftleri arasında kurulmuş Executablearayarak nesneleri Addyöntemi PrecedenceConstraintscontainer nesnesi koleksiyonu. Sonra iki yürütülebilir nesneler arasında kısıtlama oluşturma, Valueözellik kısıtlaması tanımlanan ikinci yürütülebilir yürütme ölçütlerini kurmak.
Bir tek önceliği kısıtlaması için belirttiğiniz değere bağlı olarak bir sınırlama ve bir ifade kullanabilirsiniz EvalOpözelliği, aşağıdaki tabloda açıklandığı gibi:
EvalOp özelliğinin değeri |
Açıklama |
---|---|
Yürütme sonucu kısıtlanmış kapsayıcı veya görev çalışıp belirlediğini belirtir. Set Valueözelliği PrecedenceConstraintiçin istenen değeri DTSExecResultnumaralandırma. |
|
İfadenin değeri, kısıtlanmış kapsayıcı veya görev çalışıp çalışmayacağını belirler belirtir. Set Expressionözelliği PrecedenceConstraint. |
|
Kısıtlama sonucu meydana gerekir ve ifade kısıtlanmış kapsayıcı veya çalıştırılacak görevi için değerlendirmelidir belirtir. İki set Valueve Expressionözelliklerini PrecedenceConstraintve onun LogicalAndözelliği true. |
|
Ya da kısıtlama sonucu meydana gerekir veya kısıtlanmış kapsayıcı veya çalıştırılacak görevi için ifade değerlendirmelidir belirtir. İki set Valueve Expressionözelliklerini PrecedenceConstraintve onun LogicalAndözelliği false. |
Aşağıdaki kod örneği, bir paket iki görev ekleme gösterilmiştir. A PrecedenceConstraintikinci görev ilk görevi bitmeden çalışmasını engelleyen aralarında oluşturulur.
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;
}
}
}
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
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
|