Foreach ループ コンテナの追加と構成
更新 : 2005 年 12 月 5 日
この実習では、フラット ファイルのフォルダ全体にループ機能を付加し、レッスン 1 で使用したデータ フロー変換と同じ変換を各フラット ファイルに適用します。そのためには、Foreach ループ コンテナを制御フローに追加して、構成します。
Foreach ループ コンテナを追加したら、フォルダ内の各フラット ファイルに接続できるようにする必要があります。フォルダ内のファイルはすべて同じ形式なので、Foreach ループ コンテナは、どのファイルに接続する場合でも同じフラット ファイル接続マネージャを使用できます。このループ コンテナが使用するフラット ファイル接続マネージャは、レッスン 1 で作成したフラット ファイル接続マネージャと同じものです。
レッスン 1 で作成したフラット ファイル接続マネージャは、現在、1 つのフラット ファイルにのみ接続しています。フォルダの各フラット ファイルに 1 つずつ接続するには、Foreach ループ コンテナとフラット ファイル接続マネージャをそれぞれ次のように構成します。
- ForEach ループ コンテナ このコンテナの列挙値を、ユーザー定義のパッケージ変数にマップします。ForEach ループ コンテナは、このユーザー定義の変数を使用して、フラット ファイル接続マネージャの ConnectionString プロパティを動的に変更しながら、フォルダ内の各フラット ファイルへ順番に接続します。
- フラット ファイル接続マネージャ ユーザー定義変数を使用して、レッスン 1 で作成した接続マネージャの ConnectionString プロパティに値を取り込みます。
この実習の手順では、ForEach ループ コンテナを作成し、ユーザー定義パッケージ変数を使用するように変更する方法、およびデータ フロー タスクをこのループに追加する方法を説明します。次の実習では、ユーザー定義変数を使用するようにフラット ファイル接続マネージャを変更します。
上記のように変更した後でこのパッケージを実行すると、Foreach ループ コンテナによって、Sample Data フォルダ内のすべてのファイルが反復的に処理されます。条件と一致するファイルが検出されるたびに、ユーザー定義の変数にそのファイルの名前が取り込まれ、Sample Currency Data フラット ファイル接続マネージャの ConnectionString プロパティにマップされます。さらに、そのファイルに対してデータ フローが実行されます。つまり、Foreach ループの反復処理が実行されるたびに、データ フロー タスクではそれぞれ異なるフラット ファイルが使用されることになります。
メモ : |
---|
Microsoft SQL Server 2005 Integration Services (SSIS) では制御フローとデータ フローが分離されているので、制御フローにループを追加した場合でも、データ フローを修正する必要はありません。したがって、レッスン 1 で作成したデータ フローは変更する必要がありません。 |
ForEach ループ コンテナを追加するには
Business Intelligence Development Studio で、[制御フロー] タブをクリックします。
[ツールボックス] で [制御フロー項目] を展開し、[ForEach ループ コンテナ] を [制御フロー] タブのデザイン画面にドラッグします。
新しく追加した [ForEach ループ コンテナ] を右クリックし、[編集] をクリックします。
[Foreach ループ エディタ] ダイアログ ボックスの [全般] ページで、[Name] に「Foreach File in Folder」と入力します。[OK] をクリックします。
[Foreach ループ コンテナ] を右クリックして [プロパティ] をクリックし、[プロパティ] ウィンドウで [LocaleID] プロパティが [英語 (米国)] に設定されていることを確認します。
ForEach ループ コンテナの列挙子を構成するには
[Foreach File in Folder] をダブルクリックして、[Foreach ループ エディタ] をもう一度開きます。
[コレクション] をクリックします。
[コレクション] ページで、[Foreach File 列挙子] を選択します。
[列挙子の構成] で、[参照] をクリックします。
[フォルダの参照] ダイアログ ボックスで、チュートリアル サンプル データが保存されているサンプル データ フォルダに移動します。
既定では、このチュートリアルのサンプル データは、フォルダ C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Tutorial\Creating a Simple ETL Package\Sample Data にインストールされます。
[ファイル] ボックスに「Currency_*.txt」と入力します。
ユーザー定義の変数に列挙子をマップするには
[変数のマッピング] をクリックします。
[変数のマッピング] ページで、[変数] 列の空いているセルをクリックし、<新しい変数…> をクリックします。
[変数の追加] ダイアログ ボックスで、[名前] ボックスに「varFileName」と入力します。
重要 : 変数名では大文字と小文字が区別されます。 [OK] をクリックします。
再び [OK] をクリックし、[Foreach ループ エディタ] ダイアログ ボックスを閉じます。
データ フロー タスクをループに追加するには
- [Extract Sample Currency Data] データ フロー タスクを、名前を変更した Foreach ループ コンテナ [Foreach File in Folder] までドラッグします。
次のレッスンの作業
参照
その他の技術情報
Foreach ループ コンテナの構成方法
パッケージでの変数の使用
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2005 年 12 月 5 日 |
|