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

Is there a maximum length for Jasper parameter lists?

我们的一份报告经常 运行 包含约 14,000 名驱动程序的 selection。

参数的架构(在 parent 报告中)如下所示:

<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 个 selected 驱动程序中只有 9,628 个进入子报表的实际查询。这个数字既一致又奇怪地具体。 (如果设计约束的话,我觉得会更圆一些,比如10,000)

如果我分析到 jasperserver 的实际 POST,所有 14,000 个驱动程序都在那里。如果我手动编写查询,我可以为所有 14,000 个驱动程序 select。问题似乎出在 jasperserver 本身。

jasper 对 $X{IN 有一些长度限制吗?底层数据库客户端会不会有问题? (迹象表明后者没有 - 从这个意义上说,Postgres 的上限似乎要到 30,000s 才会开始)

Jasper 实际上在后台执行 GET。因此,它受到 Tomcat 的默认 maxParameterCount 10,000 的限制。当我将其增加到 50,000 时,一切正常。