$ P {LoggedInUsername}和来自WITH子句中用户的数据

时间:2018-03-13 16:03:29

标签: jasper-reports

我正在使用JasperSoft Reports v.6.2.1,在Studio预览中运行报告时,输出在2秒后出现。

在服务器上运行相同的报告(输出xlsx)需要>半分钟 - 虽然没有数据量问题(交叉表,500行,excel中有17列,“忽略分页”=真)。

我使用$P{LoggedInUsername}来过滤WHERE - WITH - 子句中的数据(基于用户的权利),运行报告并实现,当使用固定时value(用户的id为字符串)而不是查询中的参数,报表执行速度很快。

与SQL Developer中的Oracle DB相同 - 具有用户id字符串的查询结果集将在2秒内恢复。

$P{LoggedInUsername}TextField的输出也会产生一个字符串。

在查询中切换回$P{LoggedInUsername} - 参数后,报告会再次耗尽年龄或在Studio /服务器中耗尽堆内存。

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

最后,我的问题在我user_id = '$P!{LoggedInUsername}'的{​​{1}}中使用$P{LoggedInUsername}而不是WHERE来解决。