1

test_28-10-2012.txtのようなフラットファイル名に日付と時刻の拡張子が付いたフラットファイルを取得するという問題があります

ソースアナライザーのプロパティをチェックすることで、マッピングでフラットファイル名を取得できます。AddCurrentlyProcessedFileNameそこからロジックを実行できますが、質問は

セッションのソースファイル名プロパティでフラットファイル名を動的に指定するにはどうすればよいですか。

4

4 に答える 4

4

これを行う1つの方法は、間接的なソースを使用することです。間接ソースを使用するようにセッションを構成できます。この場合、ソースファイル名はテキストファイルから取得されます(リストファイルの各エントリは、セッションが読み取るソースファイルです)。

次に、その動的ファイル名をそのリストファイルに追加するようにコードを調整できます。

于 2012-10-29T09:24:16.263 に答える
1

ソースファイルの名前をパラメータ化できます。セッションプロパティで、ハードコードされたソースファイル名の値をパラメータ($$ SOURCE_FILENAMEなど)に置き換え、パラメータファイルでその値を定義します。

$$SOURCE_FILENAME=test_28-10-2012.txt
于 2012-10-29T07:44:27.977 に答える
1

IPCヘルプから:

トランザクションによるターゲットファイルの作成

Integration Serviceが新しいトランザクションを開始するたびに、個別の出力ファイルを生成できます。各ターゲットフラットファイルに動的に名前を付けることができます。

トランザクションごとに個別の出力ファイルを生成するには、フラットファイルターゲット定義にFileNameポートを追加します。マッピングでFileNameポートを接続すると、IntegrationServiceはコミットごとに個別のターゲットファイルを作成します。Integration Serviceは、各トランザクションの最初の行のFileNameポート値に基づいて出力ファイルに名前を付けます。デフォルトでは、IntegrationServiceは出力ファイルを$PMTargetFileDirに書き込みます。

于 2012-10-30T10:09:09.103 に答える
0

ファイルリストを作成するセッション前のスクリプトを使用します。

ウィンドウズ

dir /b part_of_file_name*.txt > FILELIST_NAME.LST

UNIX

ls part_of_file_name* > FILELIST_NAME.LST

ワークフローマネージャーでセッションタスクを編集し、[マッピング]タブに移動します。フラットファイルソースを選択します。[プロパティ]で、リストファイル名(「FILELIST.LST」)を入力します。[ソースファイル名]で、[ソースファイルタイプ]の値を[間接]に変更します。

于 2014-12-15T16:53:46.890 に答える