カスタム データ フロー コンポーネントの作成

Microsoft SQL Server Integration Services のデータ フロー タスクは、開発者が Microsoft .NET Framework およびマネージ コードを使用して変換元、変換、および変換先のカスタム データ フロー コンポーネントを作成するためのオブジェクト モデルを公開します。

データ フロー タスクは、IDTSComponentMetaData100 インターフェイスを含むコンポーネントと、コンポーネント間のデータの移動を定義する IDTSPath100 オブジェクトのコレクションで構成されています。

注意

カスタム プロバイダーを作成するときに、ProviderDescriptors.xml ファイルをメタデータ列の値で更新する必要があります。

デザイン時および実行時

実行前のデータ フロー タスクは、増分的に変更が行われるため、デザイン時の状態にあると言えます。 追加される変更には、コンポーネントの追加または削除、コンポーネントを接続するパス オブジェクトの追加または削除、およびコンポーネントのメタデータに対する変更などが含まれます。 メタデータの変更が発生すると、コンポーネントはその変更を監視して対処できます。 たとえば、コンポーネントは特定の変更を禁止したり、ある変更に応じてさらに変更を加えたりすることができます。 デザイン時に、設計者はデザイン時インターフェイス IDTSDesigntimeComponent100 を介して、コンポーネントとやり取りします。

データ フロー タスクは、実行時に、コンポーネントの順序の確認、実行プランの準備、および作業プランを実行するワーカー スレッドのプールの管理を行います。 各ワーカー スレッドはデータ フロー タスク内の一部の処理を実行しますが、ワーカー スレッドの主なタスクは、実行時インターフェイス IDTSRuntimeComponent100 を介してコンポーネントのメソッドを呼び出すことです。

コンポーネントの作成

データ フロー コンポーネントを作成するには、PipelineComponent 基本クラスからクラスを派生し、DtsPipelineComponentAttribute クラスを適用して、基本クラスの適切なメソッドをオーバーライドします。 PipelineComponent には IDTSDesigntimeComponent100 および IDTSRuntimeComponent100 インターフェイスが実装され、それらのメソッドが公開されているので、ユーザーのコンポーネント内でオーバーライドできます。

コンポーネントで使用するオブジェクトによっては、次のアセンブリの一部またはすべてに対する参照がプロジェクトに必要です。

機能

参照するアセンブリ

インポートする名前空間

データ フロー

Microsoft.SqlServer.PipelineHost

Microsoft.SqlServer.Dts.Pipeline

データ フロー ラッパー

Microsoft.SqlServer.DTSPipelineWrap

Microsoft.SqlServer.Dts.Pipeline.Wrapper

ランタイム

Microsoft.SQLServer.ManagedDTS

Microsoft.SqlServer.Dts.Runtime

ランタイム ラッパー

Microsoft.SqlServer.DTSRuntimeWrap

Microsoft.SqlServer.Dts.Runtime.Wrapper

次のコード例では、基本クラスから派生し、DtsPipelineComponentAttribute を適用する簡単なコンポーネントを示します。 Microsoft.SqlServer.DTSPipelineWrap アセンブリへの参照を追加する必要があります。

using System;
using Microsoft.SqlServer.Dts.Pipeline;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;

namespace Microsoft.Samples.SqlServer.Dts
{
    [DtsPipelineComponent(DisplayName = "SampleComponent", ComponentType = ComponentType.Transform )]
    public class BasicComponent: PipelineComponent
    {
        // TODO: Override the base class methods.
    }
}
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper

<DtsPipelineComponent(DisplayName:="SampleComponent", ComponentType:=ComponentType.Transform)> _
Public Class BasicComponent

    Inherits PipelineComponent

    ' TODO: Override the base class methods.

End Class
Integration Services のアイコン (小) 最新の Integration Services の入手

マイクロソフトが提供する最新のダウンロード、アーティクル、サンプル、ビデオ、およびコミュニティで選択されたソリューションについては、MSDN の Integration Services のページを参照してください。


これらの更新が自動で通知されるようにするには、ページの RSS フィードを定期受信します。

関連項目

概念

データ フロー コンポーネント用ユーザー インターフェイスの開発