1

我有一个问题,我得到带有日期和时间扩展名的平面文件,如 test_28-10-2012.txt

我可以通过检查源分析器中的属性来获取映射中的平面文件名AddCurrentlyProcessedFileName,从那里我可以做我的逻辑,但我的问题是

如何在会话的源文件名属性中动态给出平面文件名。

4

4 回答 4

4

一种方法是使用间接来源。您可以将会话配置为使用间接源,其中源文件名来自文本文件(列表文件中的每个条目都是会话将读取的源文件)。

然后您可以安排您的代码将该动态文件名添加到该列表文件中。

于 2012-10-29T09:24:16.263 回答
1

You can parametrize the name of the source file - in the session properties replace the hard-coded Source filename value with a parameter (e.g. $$SOURCE_FILENAME) and define its value in the parameter file:

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

来自 IPC 帮助:

按事务创建目标文件

每次集成服务启动新事务时,您都可以生成单独的输出文件。您可以动态命名每个目标平面文件。

要为每个事务生成单独的输出文件,请将 FileName 端口添加到平面文件目标定义。当您连接映射中的 FileName 端口时,集成服务会在每次提交时创建一个单独的目标文件。集成服务根据每个事务中第一行的 FileName 端口值命名输出文件。默认情况下,集成服务将输出文件写入 $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

在 Workflow Manager 中编辑会话任务并转到映射选项卡。选择平面文件源。在属性下,输入列表文件名(“FILELIST.LST”)。在源文件名下,将源文件类型的值更改为间接。

于 2014-12-15T16:53:46.890 回答