test_28-10-2012.txtのようなフラットファイル名に日付と時刻の拡張子が付いたフラットファイルを取得するという問題があります
ソースアナライザーのプロパティをチェックすることで、マッピングでフラットファイル名を取得できます。AddCurrentlyProcessedFileName
そこからロジックを実行できますが、質問は
セッションのソースファイル名プロパティでフラットファイル名を動的に指定するにはどうすればよいですか。
test_28-10-2012.txtのようなフラットファイル名に日付と時刻の拡張子が付いたフラットファイルを取得するという問題があります
ソースアナライザーのプロパティをチェックすることで、マッピングでフラットファイル名を取得できます。AddCurrentlyProcessedFileName
そこからロジックを実行できますが、質問は
セッションのソースファイル名プロパティでフラットファイル名を動的に指定するにはどうすればよいですか。
これを行う1つの方法は、間接的なソースを使用することです。間接ソースを使用するようにセッションを構成できます。この場合、ソースファイル名はテキストファイルから取得されます(リストファイルの各エントリは、セッションが読み取るソースファイルです)。
次に、その動的ファイル名をそのリストファイルに追加するようにコードを調整できます。
ソースファイルの名前をパラメータ化できます。セッションプロパティで、ハードコードされたソースファイル名の値をパラメータ($$ SOURCE_FILENAMEなど)に置き換え、パラメータファイルでその値を定義します。
$$SOURCE_FILENAME=test_28-10-2012.txt
IPCヘルプから:
トランザクションによるターゲットファイルの作成
Integration Serviceが新しいトランザクションを開始するたびに、個別の出力ファイルを生成できます。各ターゲットフラットファイルに動的に名前を付けることができます。
トランザクションごとに個別の出力ファイルを生成するには、フラットファイルターゲット定義にFileNameポートを追加します。マッピングでFileNameポートを接続すると、IntegrationServiceはコミットごとに個別のターゲットファイルを作成します。Integration Serviceは、各トランザクションの最初の行のFileNameポート値に基づいて出力ファイルに名前を付けます。デフォルトでは、IntegrationServiceは出力ファイルを$PMTargetFileDirに書き込みます。
ファイルリストを作成するセッション前のスクリプトを使用します。
ウィンドウズ
dir /b part_of_file_name*.txt > FILELIST_NAME.LST
UNIX
ls part_of_file_name* > FILELIST_NAME.LST
ワークフローマネージャーでセッションタスクを編集し、[マッピング]タブに移動します。フラットファイルソースを選択します。[プロパティ]で、リストファイル名(「FILELIST.LST」)を入力します。[ソースファイル名]で、[ソースファイルタイプ]の値を[間接]に変更します。