【问题标题】:IIB/Esql how to propagate XMLTYPE from oracle table to OutputRoot.XMLNSCIIB/Esql 如何将 XMLTYPE 从 oracle 表传播到 OutputRoot.XMLNSC
【发布时间】:2017-05-26 09:03:42
【问题描述】:

我有一个带有计算节点和 MQOutput 节点的消息流,如下所示:

MQInput->Compute->MQOutput

在计算节点中,我从 oracle 数据库中检索 xml 文档数组,如下所示:

declare xmlDoc row;
set xmlDoc.rows[] = passthru('select XMLTYPE.getClobVal(xml_document) as xml from my_table where something=something');

我确认这工作正常,然后我尝试将 XML 放入 MQOutput 节点,如下所示:

    FOR xml AS xmlDoc.rows[] DO
        CREATE LASTCHILD OF OutputRoot DOMAIN('XMLNSC')
                                    PARSE(CAST(xml.XML AS BLOB CCSID InputProperties.CodedCharSetId ENCODING InputProperties.Encoding), 
                                    InputProperties.Encoding,
                                    InputProperties.CodedCharSetId);    

        PROPAGATE;
    END FOR;
    RETURN FALSE;

流运行时没有错误,但输出队列中没有放入任何内容。我正在寻找有关从 oracle 数据库中获取 XMLTYPE 并将其放入 MQOutput 节点的正确方法的指导。

谢谢

【问题讨论】:

    标签: xml oracle ibm-integration-bus extended-sql


    【解决方案1】:

    我将 SQL 查询更改为使用 getBlobVal,使其工作。

    新的 SQL 查询:

    set xmlDoc.rows[] = passthru('select mt.xml_document.getBlobVal('UTF8') as xml from my_table mt where something=something');
    

    【讨论】:

      猜你喜欢
      • 2019-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-30
      • 2023-04-08
      • 1970-01-01
      • 2017-07-10
      • 1970-01-01
      相关资源
      最近更新 更多