Collections Jaspersoft Studio:如何向pl/sql函数发送数组参数(数字表)?

Collections Jaspersoft Studio:如何向pl/sql函数发送数组参数(数字表)?,collections,plsql,jasper-reports,ireport,Collections,Plsql,Jasper Reports,Ireport,我想向pl/sql函数发送一个数字列表。参数的typedef是:TYPE colNumbers是数字表(5,0)。在普通SQL查询中,我使用 select (Test.argLoN(colNumbers(1,2,3,4,5,6))) as "asd" from dual 这部分很好用 我读到JR引擎调用参数的toString()方法。因此,在ireport 5.5.1(eclipse插件版本)中,我创建了一个字符串类型的参数,并为他提供了“默认表达式”“1、2、3、4、5、6、7、8、9、1

我想向pl/sql函数发送一个数字列表。参数的typedef是:
TYPE colNumbers是数字表(5,0)
。在普通SQL查询中,我使用

select (Test.argLoN(colNumbers(1,2,3,4,5,6))) as "asd" from dual 
这部分很好用

我读到JR引擎调用参数的toString()方法。因此,在ireport 5.5.1(eclipse插件版本)中,我创建了一个字符串类型的参数,并为他提供了“默认表达式”“1、2、3、4、5、6、7、8、9、10”。在查询对话框中,我将该语句称为:

select (Test.argLoN(colNumbers($P{val})) as "asd" 
from dual
如果我运行报告,我会收到以下错误消息:

net.sf.jasperreports.engine.JRException:为执行SQL语句时出错:Test

如果我理解正确的话

select (Test.argLoN(colNumbers($P{val})) as "asd" from dual" 
应使用val=“1,2,3,4,5”创建

select (Test.argLoN(colNumbers(1,2,3,4,5))) as "asd" from dual

还是我误解了?

您需要在iReport中使用参数文字

$P!{Values}
而不是

$P{Values}

使用$p!{}将尝试不转义或“参数化”输入。您在这样的语句中可以明显使用的值如何取决于您的数据源。

This:“选择(Test.argLoN(colNumbers($p!{clobval}))作为dual中的“asd”仍然不起作用。:/您有办法在Postgres中跟踪生成的SQL吗?