Integration Services プログラミングの概要
SQL Server Integration Services のアーキテクチャでは、データの移動と変換がパッケージの制御フローと管理から分離されています。このアーキテクチャを定義し、Integration Services のプログラムでの自動化および拡張を可能にする、次の 2 種類のエンジンがあります。1 つはランタイム エンジンで、制御フローとパッケージ管理のインフラストラクチャを実装します。開発者は、このインフラストラクチャによって、実行フローを制御し、ログ記録、イベント ハンドラー、および変数用のオプションを設定できます。もう 1 つはデータ フロー エンジンで、特殊でパフォーマンスの高いエンジンであり、データの抽出、変換、および読み込みを専門に行います。Integration Services のプログラムの際には、これら 2 つのエンジンに対してプログラムを実行します。
次の図は、Integration Services のアーキテクチャを示しています。
Integration Services ランタイム エンジン
Integration Services ランタイム エンジンは、実行順序、ログ記録、変数、およびイベント処理を可能にするインフラストラクチャを実装することによって、パッケージの管理と実行を制御します。Integration Services ランタイム エンジンをプログラミングすることにより、開発者はパッケージの作成、構成、および実行を自動化し、カスタム タスクやその他の拡張機能を作成できます。
詳細については、「スクリプト タスクを使用したパッケージの拡張」、「カスタム タスクの開発」、および「プログラムによるパッケージの作成」を参照してください。
Integration Services データ フロー エンジン
データ フロー エンジンは、データ フロー タスクを管理します。データ フロー タスクは特殊でパフォーマンスの高いタスクで、さまざまなソースからのデータの移動および変換を専門に行います。他のタスクと異なり、データ フロー タスクには、変換元、変換、変換先のいずれかになるデータ フロー コンポーネントと呼ばれるオブジェクトが追加で含まれています。これらのコンポーネントはタスクの主要な稼働部分で、データの移動および変換を定義します。データ フロー エンジンをプログラムすることにより、開発者はデータ フロー タスク内のコンポーネントの作成および構成を自動化し、カスタム コンポーネントを作成できます。
詳細については、「スクリプト コンポーネントによるデータ フローの拡張」、「カスタム データ フロー コンポーネントの開発」、および「プログラムによるパッケージの作成」を参照してください。
サポートされる言語
Integration Services では、Microsoft .NET Framework が完全にサポートされています。開発者は、.NET 準拠の言語から選択して Integration Services をプログラムできます。ランタイム エンジンもデータ フロー エンジンも、ネイティブ コードで記述されますが、完全マネージ オブジェクト モデルを介して使用できます。
Integration Services パッケージ、カスタム タスク、およびコンポーネントは、Microsoft Visual Studio または別のコード エディターやテキスト エディターでプログラミングできます。Visual Studio では、コーディング、デバッグ、およびテストの反復的なサイクルを簡略化および高速化する多数のツールや機能を開発者に提供します。また、Visual Studio を使用すると、配置も容易になります。ただし、Integration Services コード プロジェクトのコンパイルと構築に Visual Studio は必要ありません。.NET Framework SDK には、Visual Basic コンパイラと Visual C# コンパイラ、および関連ツールが含まれています。
重要 |
---|
既定では、.NET Framework は SQL Server と共にインストールされますが、.NET Framework SDK はインストールされません。SDK がコンピューターにインストールされておらず、SDK ドキュメントがオンライン ブック コレクションにも含まれていない場合、このセクションの SDK コンテンツへのリンクは機能しません。.NET Framework SDK をインストールしたら、「ヘルプ コレクションの追加と削除」の手順に従って、SDK ドキュメントをオンライン ブック コレクションと目次に追加できます。 |
Integration Services スクリプト タスクおよびスクリプト コンポーネントでは、Microsoft Visual Studio Tools for Applications (VSTA) を埋め込みスクリプト環境として使用します。VSTA は、Microsoft Visual Basic 2008 および Microsoft Visual C# 2008 をサポートしています。
注 |
---|
Integration Services アプリケーション プログラミング インターフェイスは、VBScript などの COM ベースのスクリプト言語と互換性がありません。 |
通常使用されるアセンブリ
次の表は、.NET Framework を使用する Integration Services をプログラムするときに頻繁に使用されるアセンブリの一覧です。
アセンブリ |
説明 |
---|---|
Microsoft.SqlServer.ManagedDTS.dll |
マネージ ランタイム エンジンが含まれています。 |
Microsoft.SqlServer.RuntimeWrapper.dll |
ネイティブ ランタイム エンジン用のプライマリ相互運用機能アセンブリ (PIA)、つまりラッパーが含まれています。 |
Microsoft.SqlServer.PipelineHost.dll |
マネージ データ フロー エンジンが含まれています。 |
Microsoft.SqlServer.PipelineWrapper.dll |
ネイティブ データ フロー エンジン用のプライマリ相互運用機能アセンブリ (PIA)、つまりラッパーが含まれています。 |
|