我想在Jasper报告中调用PL SQL函数。函数有一个"array"输入参数:
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);
我在jasper文件中像这样调用这个函数:
<queryString>
<![CDATA[SELECT * FROM TABLE (PK_F4REP012.F_RICERCA_4($P{P_F4REP012_INPUT}))]]>
</queryString>
但是jasper给了我一个错误
查询中不支持的参数类型:P_F4REP012_INPUT class java.util.List
当我将参数P_F4REP012_INPUT
设置为类型java.util.List
时,' oracle.sql.ARRAYv或其他列表类型。有人能给我一个解决办法吗?
我不知道jasper,但也许我的提示可以帮助你找出如何解决你的问题。必须创建oracle.sql.ARRAY = ((OracleConnection)conn).createARRAY("F4REP012_INPUT_TABLE_TYPE", new Object[]{"AA","BBBB"})