【问题标题】:How to write CHARACTER variable to file in ESQL?如何在 ESQL 中将 CHARACTER 变量写入文件?
【发布时间】:2015-08-26 17:08:51
【问题描述】:

我正在尝试实现简单的消息流,它读取文本文件(SWIFT 消息)并替换一个字段值,然后我需要将其放回文件中。 Flow 将文件读取为 blob,然后我将消息转换为 CHARACTER 并进行替换。结果我得到了一个 CHARACTER 变量,我想将它写入文件。

【问题讨论】:

    标签: message messagebroker ibm-integration-bus extended-sql


    【解决方案1】:

    将变量转换回 BLOB,使其成为消息根,然后使用默认设置将其发送到 FileOutput 节点。假设您在计算节点中使用 ESQL 进行字符替换(其计算模式设置为更改消息),那么后续的 ESQL 将是:

    SET OutputRoot.BLOB.BLOB = CAST(yourCharVar AS BLOB);

    【讨论】:

      【解决方案2】:

      要在 ESQL 中将简单的 CHARACTER(例如,像 '' 这样的 XML 标记)写入文件,您只需创建一个计算节点并添加如下内容:

      DECLARE youCharacterToWrite CHARACTER '<a simple string>';
      SET OutputRoot.BLOB.BLOB = CAST(youCharacterToWrite AS BLOB CCSID InputRoot.Properties.CodedCharSetId);
      

      然后将您的计算节点从输出终端连接到 FileOutput 的输入终端以写入文件。 如果您在 IIB 中调试该变量,它将显示您的 CHARACTER 变量的一些 Base64 表示,但它会被正确写入文件。

      【讨论】:

        猜你喜欢
        • 2015-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-25
        • 2014-12-19
        相关资源
        最近更新 更多