Jasper报告使用list参数调用PL SQL函数

时间:2015-07-13 08:52:00

标签: arrays function stored-procedures plsql jasper-reports

我想在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_TYPEARRAY(3000) OF VARCHAR2(100);

类型

我在我的jasper文件中调用这个函数:

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

但是jasper给了我一个错误

  

查询中不支持参数类型:P_F4REP012_INPUT类java.util.List

当我将参数P_F4REP012_INPUT设置为类型java.util.List,`oracle.sql.ARRAYv或其他列表类型时。 有人可以建议我一个解决方案吗?

1 个答案:

答案 0 :(得分:0)

我不知道碧玉,但也许我的提示可以帮助你弄清楚如何解决你的问题。 您必须创建oracle.sql.ARRAY = ((OracleConnection)conn).createARRAY("F4REP012_INPUT_TABLE_TYPE", new Object[]{"AA","BBBB"})