Поделиться через


Программный поиск компонентов потока данных

После добавления задачи потока данных в пакет может возникнуть необходимость определить, какие компоненты потока данных доступны для использования. Можно программным способом выявить источники, преобразования и назначения потока данных, установленные и доступные на локальном компьютере. Сведения о добавлении задачи потока данных в пакет см. в разделе Добавление задачи потока данных программным образом.

Поиск компонентов

Класс Application предоставляет коллекцию PipelineComponentInfos, содержащую объект PipelineComponentInfo для каждого компонента, правильно установленного на локальном компьютере. Каждый объект PipelineComponentInfo содержит сведения о компоненте, в частности, его имя, описание и время создания. Можно использовать значение, возвращаемое в свойстве CreationName, чтобы задать свойство ComponentClassIDIDTSComponentMetaData100 при добавлении компонента в пакет.

Следующий шаг

Следующим шагом после выявления доступных компонентов является добавление и настройка компонентов, которые рассматриваются в следующем разделе, Добавление компонентов потока данных программным образом.

Образец

В следующем образце кода показано, как перечислить коллекцию PipelineComponentInfos объекта Application, чтобы программным способом определить компоненты потока данных, доступные на локальном компьютере. Этому образцу требуется ссылка на сборку Microsoft.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
Значок служб Integration Services (маленький)Будьте в курсе новых возможностей cлужб Integration Services

Чтобы загружать новейшую документацию, статьи, образцы и видеоматериалы от корпорации Майкрософт, а также лучшие решения от участников сообщества, посетите страницу Integration Services на сайтах MSDN или TechNet:

Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.