複数のテーブルの増分読み込みの実行
「変更データ キャプチャによる増分読み込みの向上」の図は、1 つのみのテーブルの増分読み込みを実行する基本的なパッケージを示しています。ただし、1 つのテーブルの読み込みよりも、複数のテーブルの増分読み込みを実行する必要がある場合の方が一般的です。
複数のテーブルの増分読み込みを実行する場合の手順には、すべてのテーブルに対して一度実行する必要があるものと、ソース テーブルごとに繰り返し実行する必要があるものがあります。Integration Services でこれらの手順を実装する方法は複数あります。
親パッケージと子パッケージを使用する。
1 つのパッケージ内の複数のデータ フロー タスクを使用する。
注 |
---|
パッケージでの変更データ キャプチャの使用方法を紹介した完全なエンド ツー エンドのサンプルについては、Codeplex にある Integration Services のサンプルを参照してください。 |
親パッケージと複数の子パッケージを使用した複数のテーブルの読み込み
親パッケージを使用して、一度実行するだけで済む手順を実行できます。子パッケージでは、ソース テーブルごとに実行する必要がある手順を実行します。
一度実行するだけで済む手順を実行する親パッケージを作成するには
親パッケージを作成します。
制御フローで、SQL 実行タスクまたは Integration Services 式を使用してエンドポイントを計算します。
エンドポイントの計算方法の例については、「変更データの間隔の指定」を参照してください。
必要に応じて、選択した期間の変更データが準備できるまで実行を遅延させる For ループ コンテナーを使用します。
このような For ループ コンテナーの例については、「変更データが準備できているかどうかの判断」を参照してください。
複数のパッケージ実行タスクを使用して、読み込むテーブルごとに子パッケージを実行します。親パッケージ変数の構成を使用して、親パッケージで計算したエンドポイントを各子パッケージに渡します。
詳細については、「パッケージ実行タスク」および「子パッケージで親変数の値を使用する方法」を参照してください。
ソース テーブルごとに実行する必要がある手順を実行する子パッケージを作成するには
ソース テーブルごとに子パッケージを作成します。
制御フローで、スクリプト タスクまたは SQL 実行タスクを使用して、変更をクエリで確認するために使用する SQL ステートメントを作成します。
クエリの作成方法の例については、「変更データのクエリの準備」を参照してください。
子パッケージごとに 1 つのデータ フロー タスクを使用して、変更データを読み込んで変換先に適用します。次の手順に従って、データ フローを構成します。
データ フローで、変換元コンポーネントを使用して、選択したエンドポイント内にある変更をクエリで変更テーブルから取得します。
変更テーブルに対するクエリの実行方法の例については、「変更データの取得と理解」を参照してください。
条件分割変換を使用して、適切な処理のために挿入、更新、および削除を異なる出力に送信します。
この変換を構成して出力先を分ける方法の例については、「挿入、更新、および削除の処理」を参照してください。
変換先コンポーネントを使用して、挿入を変換先に適用します。OLE DB コマンド変換とパラメーター化された UPDATE および DELETE ステートメントを使用して、更新と削除を変換先に適用します。
この変換を使用して更新と削除を適用する方法の例については、「変換先への変更の適用」を参照してください。
1 つのパッケージ内の複数のデータ フロー タスクを使用した複数のテーブルの読み込み
読み込むソース テーブルごとに個別のデータ フロー タスクを用意している 1 つのパッケージを使用することもできます。
1 つのパッケージ内の複数のデータ フロー タスクを使用して複数のテーブルを読み込むには
1 つのパッケージを作成します。
制御フローで、SQL 実行タスクまたは Integration Services 式を使用してエンドポイントを計算します。
エンドポイントの計算方法の例については、「変更データの間隔の指定」を参照してください。
必要に応じて、選択した間隔の変更データが準備できるまで実行を遅延させる For ループ コンテナーを使用します。
このような For ループ コンテナーの例については、「変更データが準備できているかどうかの判断」を参照してください。
スクリプト タスクまたは SQL 実行タスクを使用して、変更をクエリで確認するために使用する SQL ステートメントを作成します。
クエリの作成方法の例については、「変更データのクエリの準備」を参照してください。
複数のデータ フロー タスクを使用して、各ソース テーブルから変更データを読み込んで変換先に適用します。次の手順に従って、各データ フロー タスクを構成します。
各データ フローで、変換元コンポーネントを使用して、選択したエンドポイント内にある変更をクエリで変更テーブルから取得します。
変更テーブルに対するクエリの実行方法の例については、「変更データの取得と理解」を参照してください。
条件分割変換を使用して、適切な処理のために挿入、更新、および削除を異なる出力に送信します。
この変換を構成して出力先を分ける方法の例については、「挿入、更新、および削除の処理」を参照してください。
変換先コンポーネントを使用して、挿入を変換先に適用します。OLE DB コマンド変換とパラメーター化された UPDATE および DELETE ステートメントを使用して、更新と削除を変換先に適用します。
この変換を使用して更新と削除を適用する方法の例については、「変換先への変更の適用」を参照してください。
|