ファイルリスト
ファイルリストをフラットファイル接続のソースとして使用できます。ファイルリストは、マッピングで使用する各ソースファイルの名前とディレクトリを格納したファイルです。ファイルリストを使用すると、マッピング内の1つのソースオブジェクトに対して複数のソースファイルをタスクで読み取ることができます。
例えば、複数の場所からデータを収集し、これを同じマッピングを使用して処理する場合にファイルリストを使用できます。
ソーストランスフォーメーションやルックアップトランスフォーメーションなど、ソースオブジェクトを設定して、ファイルリストを読み込みます。また、各ターゲットの行にソースファイル名を書き込むこともできます。ファイルリストを使用するマッピングを実行すると、ファイルリスト内の異なるソースファイルからデータ行が読み込まれます。
ファイルリストを作成する場合には、次のルールおよびガイドラインを使用します。
- •リスト内の各ファイルでは、接続で設定されているユーザー定義のコードページを使用する必要があります。
- •リスト内の各ファイルは、接続で設定されたものと同じファイルプロパティを共有する必要があります。
- •ファイルのパスを指定しない場合、タスクはファイルがファイルリストと同じディレクトリにあるものとみなします。
- •各パスは、Secure Agentに対してローカルなパスである必要があります。
ファイルリストを手動で作成したり、コマンドを使用してファイルリストを作成したりできます。
ファイルリストの手動作成
ファイルリストを手動で作成するには、テキストエディタでリストを作成し、テキストファイルとして保存します。このテキストファイルはSecure Agentのローカルディレクトリに格納します。
ファイルリストを作成するには、各行にファイル名を1つ、または各行にファイルパスとファイル名を1つずつ入力します。データ統合は、ファイルリストの最初のファイルからフィールド名を抽出します。
次の例に、有効なWindowsファイルリストを示します。
customers_canada.dat
C:\Customer_Accounts\customers_us.dat
C:\Customer_Accounts\customers_uk.dat
C:\Customer_Accounts\customers_india.dat
上記の例では、データ統合は、ファイルリストと同じフォルダに格納されたcustomers_canada.datファイルからフィールド名を抽出しています。
ファイルリストコマンド
コマンドを使用すると、マッピングのソースファイルのリストを生成できます。有効なDOSやUNIXコマンド、バッチファイル、またはシェルスクリプトを使用できます。データ統合は、タスクの実行時にリスト内の各ファイルを読み取ります。
ソースファイルのリストが頻繁に変更される場合、または特定の条件に基づいてファイルリストを生成する場合には、ファイルリストを生成するコマンドを使用します。例えば、コマンドを使用して、ディレクトリ内のすべてのファイルまたはファイル名に基づいてファイルリストを生成できます。
コマンドを使用してファイルリストを生成する場合は、次のガイドラインに従ってください。
- •バッチファイルで「/b」などのパラメータを使用するWindowsコマンドを入力する必要があります。
- •各コマンド、バッチファイル、およびシェルスクリプトに、完全修飾ファイルパスを入力する必要があります。
- •ファイルリストコマンドで入出力パラメータを使用することはできません。
シェルスクリプトを使用したUNIXの例
Linuxマシンに保存されているパーツリストからデータを抽出する必要があります。パーツリストは、/home/dsmith/flatfile/partsディレクトリに格納されているテキストファイルです。
次の表は、ソーストランスフォーメーションで入力したコマンドとそれに対応するシェルスクリプトの内容を示しています。
コマンド | シェルスクリプト(parts.sh) |
---|
/home/dsmith/flatfile/parts/parts.sh | cd /home/dsmith/flatfile/parts ls *.txt |
バッチファイルを使用したWindowsの例
Windowsマシンに保存されている売上レコードからデータを抽出する必要があります。売上レコードファイルはC:\SalesRecordsディレクトリに保存され、命名規則SalesRec_??-??-2017.txtを使用します。
次の表は、ソーストランスフォーメーションで入力したコマンドとそれに対応するバッチファイルの内容を示しています。
コマンド | バッチファイル(SalesSrc.bat) |
---|
C:\SalesRecords\SalesSrc.bat | @echo off cd C:\SalesRecords dir /b SalesRec_??-??-2017.txt |
シェルスクリプトまたはバッチファイルを使用しない例
バッチファイルまたはシェルスクリプトを使用する代わりに、コマンドを使用してファイルリストを生成することもできます。例えば、次のコマンドは、source.csvという名前のファイルが含まれるファイルリストを生成します。
echo C:\sources\source.csv
コマンドサンプルファイル
コマンドを使用してファイルリストを生成する場合は、データ統合がフィールド名の抽出に使用するサンプルファイルを選択します。生成されるファイルリストにサンプルファイルが含まれていない場合、データ統合はサンプルファイルからデータを抽出しません。
生成したファイルリスト内のファイルにサンプルファイルのすべてのフィールドが含まれていない場合、データ統合は、欠落しているフィールドのレコード値をNULLに設定します。ファイルリスト内のファイルにサンプルファイルに記載されていないフィールドが含まれている場合、データ統合はこの余分なフィールドを無視します。
例えば、選択したサンプルファイルに、CustID、NameLast、およびNameFirstというフィールドが含まれています。生成したファイルリスト内のあるファイルに、NameFirstフィールドが含まれていません。データ統合がファイルからデータを読み込むと、ファイル内の各レコードの名前がNULLに設定されます。
生成したファイルリスト内の別のファイルに、CustID、NameLast、NameFirst、およびPhoneNoというフィールドが含まれています。サンプルファイルにPhoneNoフィールドが含まれていないため、データ統合はこのフィールドのレコードをインポートしません。電話番号をインポートする場合は、PhoneNoフィールドが含まれるサンプルファイルを選択するか、トランスフォーメーションに電話番号のフィールドを追加します。
ソーストランスフォーメーションでのファイルリストの使用
ソーストランスフォーメーションでファイルリストを使用するには、テキストファイル、バッチファイル、またはファイルリストを作成するシェルスクリプトを作成します。次に、ファイルリストが使用されるようにソーストランスフォーメーションを設定します。
1テキストファイル、バッチファイル、またはファイルリストを作成するシェルスクリプトを作成し、Secure Agentのローカルにインストールします。
2 Mapping Designerで、ソーストランスフォーメーションを選択します。
3[ソース]タブで、フラットファイル接続を選択します。
4作成したファイルリストを手動で使用するには、次の手順を実行します。
- a[ソースタイプ]フィールドで[ファイルリスト]を選択します。
- b[オブジェクト]フィールドで、ファイルリストを含むテキストファイルを選択します。
- c[フィールド]タブで、ソーストランスフォーメーションの受信フィールドを確認します。
データ統合は、ファイルリストの最初のファイルからソースフィールドを抽出します。ソースフィールドが正しくない場合は、フィールドを追加または削除できます。
5コマンドで生成したファイルリストを使用するには、次の手順を実行します。
- a[ソースタイプ]フィールドで、[コマンド]を選択します。
- b[サンプルオブジェクト]フィールドで、データ統合がソースフィールドを抽出するサンプルファイルを選択します。
いずれかのファイルを使用して、ファイルリストをサンプルファイルとして生成するか、別のファイルを選択することができます。
- c[コマンド]フィールドで、使用するコマンドを入力し、/home/dsmith/flatfile/parts/parts.shなどのファイルリストを生成できます。
- d[フィールド]タブで、ソーストランスフォーメーションの受信フィールドを確認します。
ソースフィールドが正しくない場合は、フィールドを追加または削除したり、[ソース]タブをクリックして別のサンプルファイルを選択したりすることができます。
6必要に応じて、各ターゲット行にソースファイル名を書き込むには、[フィールド]タブをクリックし、[現在処理済中のファイル名の追加]フィールドオプションを有効にします。
CurrentlyProcessedFileNameフィールドが、フィールドテーブルに追加されます。
ルックアップトランスフォーメーションでのファイルリストの使用
ルックアップトランスフォーメーションでファイルリストを使用するには、テキストファイル、バッチファイル、またはファイルリストを作成するシェルスクリプトを作成します。次に、ファイルリストが使用されるようにルックアップトランスフォーメーションを設定します。
1テキストファイル、バッチファイル、またはファイルリストを作成するシェルスクリプトを作成し、Secure Agentのローカルにインストールします。
2 Mapping Designerで、ルックアップトランスフォーメーションを選択します。
3[ルックアップオブジェクト]タブで、フラットファイル接続を選択します。
4作成したファイルリストを手動で使用するには、次の手順を実行します。
- a[ソースタイプ]フィールドで[ファイルリスト]を選択します。
- b[ルックアップオブジェクト]フィールドで、ファイルリストを含むテキストファイルを選択します。
- c[戻りフィールド]タブで、ルックアップトランスフォーメーションの受信フィールドを確認します。
データ統合は、ファイルリストの最初のファイルから戻りフィールドを抽出します。戻りフィールドが正しくない場合は、フィールドを追加または削除できます。
5コマンドで生成したファイルリストを使用するには、次の手順を実行します。
- a[ソースタイプ]フィールドで、[コマンド]を選択します。
- b[ルックアップオブジェクト]フィールドで、データ統合が戻りフィールドを抽出するサンプルファイルを選択します。
いずれかのファイルを使用して、ファイルリストをサンプルファイルとして生成するか、別のファイルを選択することができます。
- c[コマンド]フィールドで、使用するコマンドを入力し、/home/dsmith/flatfile/parts/parts.shなどのファイルリストを生成できます。
- d[戻りフィールド]タブで、ルックアップトランスフォーメーションの受信フィールドを確認します。
戻りフィールドが正しくない場合は、フィールドを追加または削除したり、[ルックアップオブジェクト]タブをクリックして別のサンプルファイルを選択したりすることができます。