2015-07-13 101 views
0

我想在Jasper報告中調用PL SQL函數。該函數有一個「陣列」的輸入參數:Jasper報告調用帶有列表參數的PL SQL函數

FUNCTION F_RICERCA_4(
     P_F4REP012_INPUT F4REP012_INPUT_TABLE_TYPE) 
    RETURN F4REP012_OUTPUT_TABLE_TYPE 
IS 
    TABELLA_OUT F4REP012_OUTPUT_TABLE_TYPE; 
BEGIN 
    TABELLA_OUT:=F4REP012_OUTPUT_TABLE_TYPE(); 

    RETURN(TABELLA_OUT); 

END F_RICERCA_4;` 

輸入型F4REP012_INPUT_TABLE_TYPE是一種ARRAY(3000) OF VARCHAR2(100);

我調用該函數在我的碧玉文件是這樣的:

<queryString> 
    <![CDATA[SELECT * FROM TABLE (PK_F4REP012.F_RICERCA_4($P{P_F4REP012_INPUT}))]]> 
</queryString> 

但碧玉給me an error

查詢中不支持參數類型:P_F4REP012_INPUT class j ava.util.List

當我設定的參數P_F4REP012_INPUT作爲一種類型java.util.List,`oracle.sql.ARRAYv或其他列表類型。 有人可以建議我一個解決方案嗎?

回答

0

我不知道碧玉,但也許我的提示幫助你弄清楚如何解決你的問題。 你必須創建oracle.sql.ARRAY = ((OracleConnection)conn).createARRAY("F4REP012_INPUT_TABLE_TYPE", new Object[]{"AA","BBBB"})

+0

謝謝,但我也嘗試了oracle.sql.ARRAY,但我有同樣的錯誤。 –