Udostępnij za pośrednictwem


Łączenie składników przepływu danych programowo

Po dodaniu składników do zadanie przepływ danych, podłącz je, tworząc drzewo wykonania, reprezentującą przepływ danych ze źródeł poprzez przekształceń do miejsc docelowych.Możesz użyć IDTSPath100 obiekty połączyć składniki przepływ danych.

Tworzenie ścieżki

Wywołanie New metoda PathCollection Właściwość MainPipe interfejs, aby utworzyć nową ścieżka i dodać go do kolekcja ścieżka w zadanie przepływ danych.Ta metoda zwraca nowy, rozłączonych IDTSPath100 obiekt, który można następnie użyć do połączenia dwóch składników.

Wywołanie AttachPathAndPropagateNotifications metoda połączyć ścieżka oraz powiadamianie składników uczestniczących w ścieżce, że zostaną one podłączone.Ta metoda przyjmuje IDTSOutput100 składnika nadrzędnego i IDTSInput100 podrzędne składnika jako parametry.Domyślnie wywołanie składnika ProvideComponentProperties Metoda tworzy pojedynczy wprowadzania dla składników, które mają wejść i jednego wyjście dla składników, które mają wyjść.W poniższym przykładzie użyto tego domyślne dane wyjściowe źródło i wprowadzania obiekt docelowy.

Następny krok

Po ustanowieniu ścieżka między dwoma składnikami, następnym krokiem jest mapowanie kolumn wprowadzania niższego rzędu składnik, który omówiono w temacie dalej Wybieranie kolumn wprowadzania programowo.

Przykład

Poniższy przykładowy kod ilustruje ustanowienia ścieżka między dwoma składnikami.

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 package = new Package();
      Executable e = package.Executables.Add("STOCK:PipelineTask");
      TaskHost thMainPipe = e as TaskHost;
      MainPipe dataFlowTask = thMainPipe.InnerObject as MainPipe;

      // Create the source component.  
      IDTSComponentMetaData100 source =
        dataFlowTask.ComponentMetaDataCollection.New();
      source.ComponentClassID = "DTSAdapter.OleDbSource";
      CManagedComponentWrapper srcDesignTime = source.Instantiate();
      srcDesignTime.ProvideComponentProperties();

      // Create the destination component.
      IDTSComponentMetaData100 destination =
        dataFlowTask.ComponentMetaDataCollection.New();
      destination.ComponentClassID = "DTSAdapter.OleDbDestination";
      CManagedComponentWrapper destDesignTime = destination.Instantiate();
      destDesignTime.ProvideComponentProperties();

      // Create the path.
      IDTSPath100 path = dataFlowTask.PathCollection.New();
      path.AttachPathAndPropagateNotifications(source.OutputCollection[0],
        destination.InputCollection[0]);
    }
  }

}

Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper

Module Module1

  Sub Main()

    Dim package As Microsoft.SqlServer.Dts.Runtime.Package = _
      New Microsoft.SqlServer.Dts.Runtime.Package()
    Dim e As Executable = package.Executables.Add("STOCK:PipelineTask")
    Dim thMainPipe As Microsoft.SqlServer.Dts.Runtime.TaskHost = _
      CType(e, Microsoft.SqlServer.Dts.Runtime.TaskHost)
    Dim dataFlowTask As MainPipe = CType(thMainPipe.InnerObject, MainPipe)

    ' Create the source component.  
    Dim source As IDTSComponentMetaData100 = _
      dataFlowTask.ComponentMetaDataCollection.New()
    source.ComponentClassID = "DTSAdapter.OleDbSource"
    Dim srcDesignTime As CManagedComponentWrapper = source.Instantiate()
    srcDesignTime.ProvideComponentProperties()

    ' Create the destination component.
    Dim destination As IDTSComponentMetaData100 = _
      dataFlowTask.ComponentMetaDataCollection.New()
    destination.ComponentClassID = "DTSAdapter.OleDbDestination"
    Dim destDesignTime As CManagedComponentWrapper = destination.Instantiate()
    destDesignTime.ProvideComponentProperties()


    ' Create the path.
    Dim path As IDTSPath100 = dataFlowTask.PathCollection.New()
    path.AttachPathAndPropagateNotifications(source.OutputCollection(0), _
      destination.InputCollection(0))

  End Sub

End Module
Ikona usług Integration Services (mała)Bieżąco z usług integracji

Najnowsze pliki do pobrania, artykuły, próbki i wideo firmy Microsoft, jak również wybranych rozwiązań ze Wspólnoty, odwiedź witrynę Integration Services strona na MSDN i TechNet:

Aby otrzymywać automatyczne powiadomienia dotyczące tych aktualizacji, zasubskrybuj źródła danych RSS dostępne na tej stronie.