Identifiera dataflödeskomponenter programmatiskt

Gäller för:SQL Server SSIS Integration Runtime i Azure Data Factory

Efter att du har lagt till en dataflödesuppgift i ett paket kan ditt nästa steg vara att avgöra vilka dataflödeskomponenter som är tillgängliga för din användning. Du kan programmatiskt upptäcka dataflödeskällor, transformationer och destinationer som är installerade och tillgängliga på den lokala datorn. För information om hur man lägger till en data flow-uppgift i paketet, se Adding the Data Flow Task Programmatically.

Upptäckt av komponenter

Klassen Application tillhandahåller samlingen PipelineComponentInfos , som innehåller ett PipelineComponentInfo objekt för varje komponent korrekt installerad på den lokala datorn. Varje PipelineComponentInfo innehåller information om en komponent, såsom dess namn, beskrivning och skapelsenamn. Du kan använda värdet som returneras i egenskapen CreationName för att sätta egenskapen ComponentClassID för när IDTSComponentMetaData100 du lägger till en komponent i ett paket.

Sample

Följande kodexempel visar hur man kan enumerera PipelineComponentInfos objektets samling Application för att programmatiskt upptäcka de dataflödeskomponenter som finns tillgängliga på den lokala datorn. Detta exempel kräver en referens till Microsoft. SqlServer.ManagedDTS-assembly.

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