[英]Invoke a stored procedure from tibco bw with cursor as inputs
我有一個應在tibco中執行的提供的存儲過程(SP),該存儲過程具有以下簽名:
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不支持這些in和輸出類型,我還發現它甚至不支持布爾型本機類型,這很奇怪...:S無論哪種方式,就我所讀的內容而言,兩種可能的解決方案都在開發中:
現在,我的疑惑。
如果我要使用解決方案編號1,則必須構建游標以提供純sql的輸入,但是我要怎么做呢? 我是否必須使用輸入的值創建一個臨時表,然后為該表打開一個游標? 這是唯一的方法嗎?
我還沒有探索第二種解決方案,但是我認為Java可以支持這類輸入和輸出,而我只是聲明數組。 這個假設正確嗎? 這會很容易嗎,還是我將像在解決方案編號1中那樣調用sql?
PS:這是兩種可能的解決方案嗎? 是否有任何帶解決方法的tibco專家使BW支持此WEIRD輸入和輸出? :P
在此先感謝Tiago Brunhoso Nunes
經過大量的搜索之后,我設法克服此問題的唯一方法是在數據庫上創建一個包裝程序包,該程序包將tibco無法識別的輸入和輸出封裝為它可以識別的內容。
我現在所做的是:
(我知道這可能不是最好的方法...:S)
PS:據我所知,oracle pl sql支持本機xml輸入,我本可以采用該解決方案的,這似乎是一種更清潔的解決方案,但是要花很長時間才能實施...如果有人知道的話在此,我將感謝一些提示! :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.