Programowe dodawanie zadania przepływu danych

Dotyczy:SQL Server Środowisko SSIS Integration Runtime w usłudze Azure Data Factory

SQL Server Data Tools (SSDT) zawiera zadanie zwane zadaniem Przepływ danych, które jest reprezentowane przez Microsoft.SqlServer.Dts.Pipeline.Wrapper przestrzeń nazw w modelu obiektowym. Zadanie Przepływ danych to wyspecjalizowane, wysokowydajne zadanie, poświęcone transformacji i przenoszeniu danych podczas wykonywania pakietów. Podobnie jak inne zadania, zadanie Przepływ danych jest owinięte przez TaskHost obiekt, a z perspektywy silnika wykonawczego jest to po prostu kolejne zadanie w pakiecie. Jednak przepływ danych zawiera dodatkowe obiekty zwane komponentami przepływu danych. Są to komponenty, które umożliwiają przemieszczanie się danych ze źródła do miejsca, czasem poprzez transformację. Komponenty te definiują zarówno kierunek ruchu, jak i sposób transformacji danych. Konfiguracja zadania Przepływ danych polega na dodawaniu komponentów do zadania, a następnie ich łączeniu, aby ustalić przepływ danych i osiągnąć zamierzoną transformację.

W zadaniu Przepływ danych występują trzy typy komponentów: Przepływ danych Sources, Przepływ danych Transformations oraz Przepływ danych Destinations, pokazane w tej kolejności w skrzynce narzędzi SSIS Designer. Te typy nazywane są także prościej źródłami, transformacjami lub miejscami docelowymi. Jak sugerują nazwy, dane płyną ze źródła do transformacji, a następnie do miejsca docelowego. Jest to uproszczony opis data flow, aby zilustrować koncepcję, ale zadanie Przepływ danych jest na tyle elastyczne i potężne, by obsługiwać wiele źródeł oraz łączyć wiele transformacji, które wysyłają wyjście do wielu miejsc docelowych.

Zadanie Przepływ danych jest dodawane do pakietu w taki sam sposób, w jaki inne zadania. Po dodaniu zadania konfiguruje się je poprzez dodanie komponentów do zadania przepływu danych oraz konfigurację i łączenie komponentów w zadaniu.

Przykład

Poniższy przykład kodu pokazuje, jak dodać zadanie Przepływ danych do pakietu. Ten przykład wymaga odniesienia do asembli Microsoft. SqlServer.PipelineHost, Microsoft. SqlServer.DTSPipelineWrap oraz Microsoft. SqlServer.ManagedDTS.

using System;  
using Microsoft.SqlServer.Dts.Runtime;  
using Microsoft.SqlServer.Dts.Pipeline;  
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;  
  
namespace Microsoft.SqlServer.Dts.Samples  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  
      Package p = new Package();  
      Executable e = p.Executables.Add("STOCK:PipelineTask");  
      TaskHost thMainPipe = e as TaskHost;  
      MainPipe dataFlowTask = thMainPipe.InnerObject as MainPipe;   
    }  
  }  
}  
Imports System.IO  
Imports Microsoft.SqlServer.Dts.Runtime  
Imports Microsoft.SqlServer.Dts.Pipeline  
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper  
  
Module Module1  
  
  Sub Main()  
  
    Dim p As Package = New Package()  
    Dim e As Executable = p.Executables.Add("STOCK:PipelineTask")  
    Dim thMainPipe As TaskHost = CType(e, TaskHost)  
    Dim dataFlowTask As MainPipe = CType(thMainPipe.InnerObject, MainPipe)  
  
  End Sub  
  
End Module