设置 FileOutput 和 FTEOutput 节点的 记录定义 属性
在节点的记录和元素选项卡上设置属性以使用不同的格式写文件。
以下示例基于 将文件写入本地文件系统 和 将文件写入远程 FTP , FTPS 或 SFTP 服务器中描述的示例。 FTEOutput 不进行归档,文件传输使用的是 IBM® MQ 文件传输版 ,而非FTP、FTPS或SFTP。 在所有示例中,均假设向“ FileOutput ”节点发送相同的消息;其中三条发送至“In”终端,一条发送至“Finish File”终端:
- 按此顺序发送到 FileOutput 节点的 In 终端的三条输入消息:
- 消息 1:
<Message>test1</Message> - 消息 2:
<Message>testtwo</Message> - 消息 3:
<Message>testthree</Message>
<Message>...</Message> - 消息 1:
- 在发送前三条消息之后发送到 FileOutput 节点的 Finish File 终端的最终消息。 这与此消息中所包含的内容无关。
示例 1. 写入的记录由 DOS 或 UNIX 行结束符分隔
此示例与 将文件写入本地文件系统 或 将文件写入远程 FTP , FTPS 或 SFTP 服务器中描述的示例相同。 指定节点的属性,如 将文件写入本地文件系统 或 将文件写入远程 FTP , FTPS 或 SFTP 服务器中所述。
这些属性将导致写一个文件。 此文件包含三条记录,每条记录均以本地系统行终止符终止。 在 Windows 系统中,这是一对回车(X'0D')换行(X'0A')字符;在 UNIX 系统中,这是 X'0A'。
<Message>test1</Message>
<Message>testtwo</Message>
<Message>testthree</Message>示例 2: 写入的记录由定制定界符来分隔
除了 将文件写入本地文件系统 或 将文件写入远程 FTP , FTPS 或 SFTP 服务器中描述的属性设置外,请在 记录和元素 选项卡上设置以下属性:
十六进制的 X'0D0A' 表示一个后跟换行符的回车字符。 在 Windows 系统上,这将生成与示例 1 中创建的文件相同的文件。 在其他系统上,结果可能与示例 1 中的结果不同;示例 1 使用本地系统行结束字符,而示例 2 始终将 X'0D0A' 序列放在每行的末尾。| 属性 | 值 |
|---|---|
| 记录定义 | 记录是定界数据 |
| 定界符 | 定制定界符 |
| 定制定界符 | 0D0A |
| 定界符类型 | 后缀 |
示例 3: 将写入的记录填充到固定长度
除了 将文件写入本地文件系统 或 将文件写入远程 FTP , FTPS 或 SFTP 服务器中描述的属性设置外,请在 记录和元素 选项卡上设置以下属性:
十六进制字符 X'2A' 在 ASCII 中表示星号字符。
| 属性 | 值 |
|---|---|
| 记录定义 | 记录是固定长度数据 |
| 长度(字节) | 30 |
| 填充字节(十六进制) | 2A |
各条入局消息的长度分别为 24 字节、26 字节和 28 字节。 每条记录所需的固定长度是 30 字节。 因此各条记录将另外使用 6 个字节、4 个字节或 2 个字节的十六进制字符 X'2A' 来填充。
将写入一个文件。 该文件只包含一行内容:
<Message>test1</Message>******<Message>testtwo</Message>****<Message>testthree</Message>**示例 4: 写入的记录未由定界符或填充字符分隔
记录没有连接任何填充字符或定界符。
将写入一个内容如下的文件:<Message>test1</Message><Message>testtwo</Message><Message>testthree</Message>无任何尾随字节或行结束符。示例 5: 记录作为整个文件写入
将创建三个文件,每个文件中包含一条记录:
- 文件 1:
<Message>test1</Message> - 文件 2:
<Message>testtwo</Message> - 文件 3:
<Message>testthree</Message>
完成可选传送后,如果保留了副本,所有文件将移入输出目录 C:\FileOutput\TestDir。 根据 FileOutput 节点上的属性 (如 将文件写入本地文件系统 或 将文件写入远程 FTP , FTPS 或 SFTP 服务器中所述) ,移动的第二个文件将替换输出目录中的第一个文件,该文件将在添加到文件名的时间戳记的情况下移动到 mqsiarchive 子目录中。 当第三个文件移入输出目录中时,会使第二个文件转移到 mqsiarchive 子目录,并得到重新命名。 最终的结果是类似于以下的文件:
C:\FileOutput\TestDir\mqsiarchive\20071101_165346_312030_test_output1.xml
C:\FileOutput\TestDir\mqsiarchive\20071101_165347_312030_test_output1.xml
C:\FileOutput\TestDir\test_output1.xml,它们分别是文件 1、文件 2 和文件 3。 如果启用了 FTP 处理,文件 3 也将放入远程 FTP 服务器目录,文件名为 test_output1.xml。