我有一个提供的存储过程(SP),我应该在tibco中执行,它具有以下签名:
PROCEDURE GET_STOCK_QTY(
WarehouseId Number,
LineItem ref_lines,
ResponseCode OUT Number,
ResponseDesc OUT Varchar2,
RespLineItems OUT sys_refcursor
);
* ref_lines *定义如下:
TYPE items_record is RECORD(
ItemCode varchar2(15),
ItemQuantity number
);
type ref_lines IS REF CURSOR RETURN items_record;
所以,你已经注意到我有一个光标作为SP的输入和输出。我已经在谷歌搜索这类问题,并发现tibco没有支持这些类型的输入和输出,我还发现它甚至不支持布尔本机类型,这很奇怪......:S 无论如何,正如我所读到的,两种可能的解决方案正在进行中:
现在,我怀疑。
如果我要使用解决方案编号1,我必须构建游标以提供纯sql中的输入,但是我将如何做呢?我是否必须创建一个临时表,其中包含我对输入的值,然后打开该表的游标?这是唯一的方法吗?
我还没有探索过第二个解决方案,但我认为Java可以支持这些输入和输出,我只是声明了数组。这个假设是对的吗?会不会这么容易,或者我会像解决方案1那样调用sql?
PS:这两种可能的解决方案是唯一的解决方案吗?是否有任何tibco大师有解决方法使BW支持WEIRD输入和输出? :P
提前致谢, Tiago Brunhoso Nunes
答案 0 :(得分:0)
经过大量的谷歌搜索后,我设法克服这个问题的唯一方法是在数据库上创建一个包装器包,它将tibco无法识别的输入和输出封装成可以的东西。
我现在所做的是:
(我知道这可能不是最好的方法......:S)
PS:据我所知,oracle pl sql支持本机xml输入,我可以使用这个解决方案,这似乎是一个更清晰的解决方案,但实现起来需要太长时间。如果有人对此有任何了解,我将不胜感激! :)