IIB/Esql 如何将 XMLTYPE 从 oracle table 传播到 OutputRoot.XMLNSC
IIB/Esql how to propagate XMLTYPE from oracle table to OutputRoot.XMLNSC
我有一个带有计算节点和 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 节点的正确方法的指导。
谢谢
我将 SQL 查询更改为使用 getBlobVal
。
新SQL查询:
set xmlDoc.rows[] = passthru('select mt.xml_document.getBlobVal('UTF8') as xml from my_table mt where something=something');
我有一个带有计算节点和 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 节点的正确方法的指导。
谢谢
我将 SQL 查询更改为使用 getBlobVal
。
新SQL查询:
set xmlDoc.rows[] = passthru('select mt.xml_document.getBlobVal('UTF8') as xml from my_table mt where something=something');