2013-03-06 55 views
0

我第一次面臨這個技術挑戰。在發佈這個問題之前,我已經研究了3天,還沒有找到任何解決方案。以ref cursor作爲Java程序的輸入調用Oracle DB函數

我的問題是「從Java程序中調用Oracle DB函數(它將參考光標作爲輸入參數)」。在我的研究中,我發現很多樣本Java代碼從DB Function/stored proc中讀取返回的遊標,但是我沒有找到任何示例代碼將引用遊標輸入到DB函數。

下面是我的數據庫功能

FUNCTION CheckFileStatus (pUserId  NUMBER, pFileList  FileList) RETURN FilesStatus 




    CURSOR curFileList IS 
    SELECT file_path, file_name 
     FROM file_in_transfer 
     WHERE file_in_transfer_id = -1; 



TYPE FileList IS REF CURSOR RETURN curFileList%ROWTYPE; 

是否有人可以張貼一些Java代碼示例,上述DB函數來調用?

感謝, SRINIVAS

回答

0

您可以使用OracleCallableStatement並通上setREF(....)方法REF類型..

這樣做的缺點是你綁自己只有甲骨文JDBC庫。

對於獨立庫,請使用CallableStatement,將Ref類型傳遞給setRef(....)方法。

+0

謝謝你的回覆。 我很好地將我的代碼綁定到Oracle。你可以請張貼一些示例代碼或指引我到一個網頁? 謝謝, Srinivas – Srini 2013-03-06 09:35:42

+0

我認爲,這不能做獨立的方式,因爲我必須調用StructDescriptor.createDescriptor FileList類型。 – Srini 2013-03-06 09:40:29

+0

我想你會不得不去谷歌,我很害怕。我自己還沒有和Oracle'REF'玩過。 – 2013-03-06 10:58:38

相關問題