Descobrindo componentes de fluxo de dados programaticamente

Aplica-se a: SQL Server SSIS Integration Runtime em Azure Data Factory

Depois de adicionar uma tarefa de fluxo de dados a um pacote, o próximo passo pode ser determinar que componentes de fluxo de dados estão disponíveis para o seu uso. Pode descobrir programaticamente as fontes de fluxo de dados, transformações e destinos que estão instalados e disponíveis no computador local. Para informações sobre como adicionar uma tarefa de data flow ao pacote, consulte Adicionar a tarefa Fluxo de Dados Programáticamente.

Descoberta de Componentes

A Application classe fornece a PipelineComponentInfos coleção, que contém um PipelineComponentInfo objeto para cada componente corretamente instalado no computador local. Cada um PipelineComponentInfo contém informações sobre um componente, como o seu nome, descrição e nome de criação. Pode usar o valor devolvido na CreationName propriedade para definir a ComponentClassID propriedade de quando IDTSComponentMetaData100 adiciona um componente a um pacote.

Exemplo

O exemplo de código seguinte mostra como enumerar a PipelineComponentInfos coleção do Application objeto para descobrir programaticamente os componentes do fluxo de dados disponíveis no computador local. Este exemplo requer uma referência à Microsoft. Assembly SqlServer.ManagedDTS.

using System;  
using Microsoft.SqlServer.Dts.Runtime;  
  
namespace Microsoft.SqlServer.Dts.Samples  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  
      Application application = new Application();  
      PipelineComponentInfos componentInfos = application.PipelineComponentInfos;  
  
      foreach (PipelineComponentInfo componentInfo in componentInfos)  
      {  
        Console.WriteLine("Name: " + componentInfo.Name + "\n" +  
          " CreationName: " + componentInfo.CreationName + "\n");  
      }  
      Console.Read();  
    }  
  }  
}  
Imports Microsoft.SqlServer.Dts.Runtime  
  
Module Module1  
  
  Sub Main()  
  
    Dim application As Application = New Application()  
  
    Dim componentInfos As PipelineComponentInfos = application.PipelineComponentInfos  
  
    For Each componentInfo As PipelineComponentInfo In componentInfos  
      Console.WriteLine("Name: " & componentInfo.Name & vbCrLf & _  
        " CreationName: " & componentInfo.CreationName & vbCrLf)  
    Next  
  
    Console.Read()  
  
  End Sub  
  
End Module