次の方法で共有


作業 2: Foreach ループ コンテナの追加と構成

この実習では、フラット ファイルのフォルダ全体にループ機能を付加し、レッスン 1 で使用したデータ フロー変換と同じ変換を各フラット ファイルに適用します。そのためには、Foreach ループ コンテナを制御フローに追加して、構成します。

Foreach ループ コンテナを追加したら、フォルダ内の各フラット ファイルに接続できるようにする必要があります。フォルダ内のファイルはすべて同じ形式なので、Foreach ループ コンテナは、どのファイルに接続する場合でも同じフラット ファイル接続マネージャを使用できます。このループ コンテナが使用するフラット ファイル接続マネージャは、レッスン 1 で作成したフラット ファイル接続マネージャと同じものです。

レッスン 1 で作成したフラット ファイル接続マネージャは、現在、1 つのフラット ファイルにのみ接続しています。フォルダの各フラット ファイルに 1 つずつ接続するには、Foreach ループ コンテナとフラット ファイル接続マネージャをそれぞれ次のように構成します。

  • ForEach ループ コンテナ  このコンテナの列挙値を、ユーザー定義のパッケージ変数にマップします。ForEach ループ コンテナは、このユーザー定義の変数を使用して、フラット ファイル接続マネージャの ConnectionString プロパティを動的に変更しながら、フォルダ内の各フラット ファイルへ順番に接続します。

  • フラット ファイル接続マネージャ   ユーザー定義変数を使用して、レッスン 1 で作成した接続マネージャの ConnectionString プロパティに値を取り込みます。

この実習の手順では、ForEach ループ コンテナを作成し、ユーザー定義パッケージ変数を使用するように変更する方法、およびデータ フロー タスクをこのループに追加する方法を説明します。次の実習では、ユーザー定義変数を使用するようにフラット ファイル接続マネージャを変更します。

上記のように変更した後でこのパッケージを実行すると、Foreach ループ コンテナによって、Sample Data フォルダ内のすべてのファイルが反復的に処理されます。条件と一致するファイルが検出されるたびに、ユーザー定義の変数にそのファイルの名前が取り込まれ、Sample Currency Data フラット ファイル接続マネージャの ConnectionString プロパティにマップされます。さらに、そのファイルに対してデータ フローが実行されます。つまり、Foreach ループの反復処理が実行されるたびに、データ フロー タスクではそれぞれ異なるフラット ファイルが使用されることになります。

注意

MicrosoftIntegration Services では制御フローとデータ フローが分離されているので、制御フローにループを追加した場合でも、データ フローを修正する必要はありません。したがって、レッスン 1 で作成したデータ フローは変更する必要がありません。

ForEach ループ コンテナを追加するには

  1. Business Intelligence Development Studio で、[制御フロー] タブをクリックします。

  2. [ツールボックス][制御フロー項目] を展開し、[ForEach ループ コンテナ][制御フロー] タブのデザイン画面にドラッグします。

  3. 新しく追加した [ForEach ループ コンテナ] を右クリックし、[編集] をクリックします。

  4. [Foreach ループ エディタ] ダイアログ ボックスの [全般] ページで、[Name] に「Foreach File in Folder」と入力します。[OK] をクリックします。

  5. [Foreach ループ コンテナ] を右クリックして [プロパティ] をクリックし、[プロパティ] ウィンドウで [LocaleID] プロパティが [英語 (米国)] に設定されていることを確認します。

ForEach ループ コンテナの列挙子を構成するには

  1. [Foreach File in Folder] をダブルクリックして、[Foreach ループ エディタ] をもう一度開きます。

  2. [コレクション] をクリックします。

  3. [コレクション] ページで、[Foreach File 列挙子] を選択します。

  4. [列挙子の構成] で、[参照] をクリックします。

  5. [フォルダの参照] ダイアログ ボックスで、チュートリアル サンプル データが保存されているサンプル データ フォルダに移動します。

    既定では、このチュートリアルのサンプル データは、フォルダ C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Creating a Simple ETL Package\Sample Data にインストールされます。

  6. [ファイル] ボックスに「Currency_*.txt」と入力します。

ユーザー定義の変数に列挙子をマップするには

  1. [変数のマッピング] をクリックします。

  2. [変数のマッピング] ページで、[変数] 列の空いているセルをクリックし、<新しい変数…> をクリックします。

  3. [変数の追加] ダイアログ ボックスで、[名前] ボックスに「varFileName」と入力します。

    重要な注意事項重要

    変数名では大文字と小文字が区別されます。

  4. [OK] をクリックします。

  5. 再び [OK] をクリックし、[Foreach ループ エディタ] ダイアログ ボックスを閉じます。

データ フロー タスクをループに追加するには

  • [Extract Sample Currency Data] データ フロー タスクを、名前を変更した Foreach ループ コンテナ [Foreach File in Folder] までドラッグします。