2015-07-13 73 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,但我有同样的错误。 –