このトピックでは、結果セットと SQL 実行タスクの変数との間のマッピングを作成する方法について説明します。 結果セットを変数にマップすることで、結果セットをパッケージ内の他の要素で使用できるようになります。 たとえば、スクリプト タスクのスクリプトでは、変数を読み取ってから、結果セットからの値を使用できます。XML ソースでは、変数に格納された結果セットを利用できます。 親パッケージで結果セットが生成される場合、パッケージ実行タスクから呼び出された子パッケージでその結果セットを使用できるようにするには、結果セットを親パッケージ内の変数にマップしてから、子パッケージ内で親パッケージの変数構成を作成して、親変数の値を格納します。
結果セットの種類と、結果セットにマップできる変数のデータ型の説明については、「 SQL 実行タスクにおける結果セット」を参照してください。
結果セットを変数にマップするには
SQL Server Data Tools (SSDT)で、目的のパッケージが含まれている Integration Services プロジェクトを開きます。
ソリューション エクスプローラーで、パッケージをダブルクリックして開きます。
[制御フロー] タブをクリックします。
SQL 実行タスクがまだパッケージに含まれていない場合、SQL 実行タスクをパッケージの制御フローに追加します。 詳細については、「コントロール フローでタスクまたはコンテナーを追加または削除する」を参照してください。
.SQL 実行タスクをダブルクリックします。
[SQL 実行タスク エディター] ダイアログ ボックスの [全般] ページで、 [単一行] 、 [完全な結果セット] 、 [XML] のいずれかの種類の結果セットを選択します。
結果セットの種類の説明については、「 SQL 実行タスクにおける結果セット」を参照してください。
[結果セット] をクリックします。
結果セット マッピングを追加するには、 [追加] をクリックします。
[変数名] の一覧で、変数を選択するか、新しい変数を作成します。 詳細については、「 パッケージ内のユーザー定義変数のスコープの追加、削除、変更」を参照してください。
各種の結果セットにマップできる変数のデータ型の説明については、「 SQL 実行タスクにおける結果セット」を参照してください。
変数を単一の列にマップする方法と、複数の変数を複数の列にマップする方法については、「 SQL 実行タスクにおける結果セット 」の「 結果セットによる変数の設定」のセクションを参照してください。
[結果名] の一覧で、必要に応じて結果セットの名前を変更します。
一般に、列名を結果セット名として使用することも、列リストでの列の序数位置を結果セットとして使用することもできます。 列名を結果セットの名前として使用できるかどうかは、タスクの構成で指定されているプロバイダーによって異なります。 すべてのプロバイダーで列名が使用できるわけではありません。
[OK] をクリックします。
参照
SQL 実行タスク
SQL 実行タスクにおける結果セット
パッケージ実行タスク
[パッケージ構成]
パッケージ構成を作成する
子パッケージでの変数およびパラメーターの値の使用
Integration Services (SSIS) の変数