簡體   English   中英

使用XMLTYPE輸出執行Oracle存儲過程並在SSIS變量中捕獲它

[英]Executing Oracle stored procedure with XMLTYPE Output and capturing it in a SSIS variable

我迫切需要幫助執行Oracle存儲過程,該過程將Oracle XMLTYPE的XML作為輸入並輸出Oracle XMLTYPE的XML。

我應該能夠使用帶有輸入變量映射和OUTPUT變量映射的SSIS執行SQL任務來執行此Oracle存儲過程。

我嘗試使用OLEDB適配器和ADO.NET適配器,但沒有成功使其工作。

通過使用表達式來構建腳本但無法獲得輸出,我能夠使Input變量類型工作。

如果有人使用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文檔的二進制表示。 因此,它作為兩個這樣的不同系統之間的接口類型的標准化的可能性非常低。

嘗試在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插圖

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM