Jasper参数列表是否有最大长度?

时间:2015-07-17 20:56:02

标签: jasper-reports jasperserver

我们的一个报告经常运行,其中包含大约14,000个驱动程序。

参数的架构(在父报表中)如下所示:

<parameter name="DriverIds" class="java.util.List">
    <parameterDescription><![CDATA[]]></parameterDescription>
</parameter>

select的where子句(在子报表中)如下所示:

and $X{IN, cast(e.login_id as char(12)), DriverIds}

根据Tomcat日志,14,000个选定驱动程序中只有9,628个来自子报表的实际查询。这个数字既一致又奇怪。 (如果是设计约束,我觉得它会像10000那样更圆)

如果我将实际的POST分析给jasperserver,那么所有14,000个驱动程序都会在那里进行。如果我手动编写查询,我可以选择所有14,000个驱动程序。问题似乎在jasperserver本身。

jasper对$ X {IN?底层数据库客户端是否有问题? (后者的迹象表明没有 - 从这个意义上来说,Postgres的上限似乎不会在30,000s之前开始)

1 个答案:

答案 0 :(得分:3)

贾斯珀实际上正在做一个GET。因此,它受Tomcat的默认maxParameterCount限制为10,000。一旦我将其增加到50,000,一切都工作得很好。