gpt4 book ai didi

sql - 使用 XMLTYPE 输出执行 Oracle 存储过程并将其捕获到 SSIS 变量中

转载 作者:行者123 更新时间:2023-12-03 18:19:54 25 4
gpt4 key购买 nike

我迫切需要帮助执行一个 Oracle 存储过程,该过程将 Oracle XMLTYPE 的 XML 作为输入并输出 Oracle XMLTYPE 的 XML。

我应该能够使用带有输入变量映射和输出变量映射的 SSIS 执行 SQL 任务来执行这个 Oracle 存储过程。

我尝试使用 OLEDB 适配器和 ADO.NET 适配器,但未能成功使其工作。

我能够通过使用表达式构建脚本来使输入变量类型工作,但无法获得输出。

如果有人致力于使用 XMLTYPE 数据类型执行 Oracle 存储过程,那么如果您能指出正确的方向,那将是非常有帮助的

这是我试图在 SSIS 中执行的 Oracle 存储过程。

declare
x_api_call XMLTYPE := XMLTYPE('<APICall><SeqID>110682</SeqID></APICall>');
x_result XMLTYPE;
BEGIN
XML_READ_API.GET_PERSON ( p_api_call => x_api_call, p_result => x_result );
END;

我试图在 SSIS 中执行上述 Oracle 过程,如下所示,并且很难确定变量连接类型和我应该用来捕获 XML 的变量类型。
declare
BEGIN
XML_READ_API.GET_PERSON ( p_api_call => ?, p_result => ? );
END;

提前致谢。

最佳答案

Xmltype是一个复杂的东西,包含 XML 文档的二进制表示。所以它作为两个这样不同的系统之间的接口(interface)类型标准化的可能性很小。

尝试在 CLOB 中将 XML 作为文本传递范围:

declare
x_result XMLTYPE;
BEGIN
XML_READ_API.GET_PERSON ( p_api_call => XMLTYPE(?), p_result => x_result );
? := x_result.getCLOBVal;
END;

SQLFiddle illustration

关于sql - 使用 XMLTYPE 输出执行 Oracle 存储过程并将其捕获到 SSIS 变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19942200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com