Dil

Görevleri Program Aracılığıyla Bağlama

Şunlar için geçerlidir:SQL Server Azure Data Factory'de SSIS Tümleştirme Çalışma Zamanı

Nesne modelinde sınıf PrecedenceConstraint ile temsil edilen bir öncelik kısıtlaması, nesnelerin pakette çalışma Executable sırasını belirler. Öncelik kısıtlaması, bir paketteki konteynerlerin ve görevlerin yürütülmesinin önceki bir görev veya konteynerin yürütülme sonucuna bağlı olmasını sağlar. Öncelik kısıtlamaları, nesne çiftleri Executable arasında konteyner nesnesi üzerindeki koleksiyon yöntemi PrecedenceConstraints çağrılarak Add belirlenir. İki yürütülebilir nesne arasında bir kısıtlama oluşturduktan sonra, kısıtlamada tanımlanan ikinci yürütülebilir dosyayı çalıştırma kriterlerini belirlemek için özelliği ayarlarsınız Value .

Aşağıdaki tabloda belirtildiği gibi, özellik için belirttiğiniz değere EvalOp bağlı olarak, tek bir öncelik kısıtlaması içinde hem bir kısıtlama hem de bir ifade kullanabilirsiniz:

EvalOp özelliğinin değeri Description
Constraint Kısıtlı konteynerin veya görevin çalışıp çalışmayacağını uygulama sonucunun belirlediğini belirtir. Özelliğini ValuePrecedenceConstraint sayımdan istenen değere DTSExecResult ayarlayın.
Expression Bir ifadenin değerinin, kısıtlı konteynerin veya görevin çalışıp çalışmadığını belirler. Özelliğini ExpressionPrecedenceConstraintayarlayın.
ExpressionAndConstraint Kısıtlama sonucunun gerçekleşmesi gerektiğini ve ifadenin kısıtlı konteyner veya görevin çalışması için değerlendirmesi gerektiğini belirtir. Hem de ValueExpression ' PrecedenceConstraintnin özelliklerini ve özelliklerini ayarlayın ve özelliğini LogicalAnddoğru olarak ayarlayın.
ExpressionOrConstraint Kısıtlı konteyner veya görevin çalışması için ya kısıtlama sonucunun gerçekleşmesi ya da ifadenin değerlendirilmesi gerektiğini belirtir. Hem de ValueExpression özelliklerini PrecedenceConstraintayarlayın ve özelliğini LogicalAndfalse olarak ayarlayın.

Aşağıdaki kod örneği, bir pakete iki görev eklemeyi gösterir. Aralarında ikinci görevin ilk görev bitene kadar çalışmasını engelleyen bir A PrecedenceConstraint 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;  
    }  
  }  
}  
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