为什么$ P!{}在JasperServer上不能正常工作?

时间:2019-10-14 12:04:46

标签: sql parameters jasperserver

在Jasper Studio中,我使用SQL脚本创建了新的Jasper报告

select * from
(
SELECT 1 v from dual union all 
SELECT 5 v from dual union all 
SELECT 4 v from dual union all
SELECT 2 v from dual union all
SELECT 3 v from dual
) da
$P!{P_C}

有两个参数:

    <parameter name="P_P" class="java.lang.Boolean"/>
    <parameter name="P_C" class="java.lang.String" isForPrompting="false">
        <defaultValueExpression><![CDATA[IF($P{P_P},"where da.v =1","")]]></defaultValueExpression>
    </parameter>

当我在Jasper Studio中运行此报告时,一切正常,结果如预期:

_________
TEST REP|
________|
V       |
________|
1       |
2       |
3       |
4       |
5       |

但是在JasperServer上我得到一个错误:

There was an error on the server. Try again or contact site administrators. (Error UID: 16864f27-a17a-43d1-8ed6-4386b52f57a0)

如果我从SQL脚本中删除$P!{P_C},一切都会正常。

如果有人有相同的东西?

2 个答案:

答案 0 :(得分:0)

如果可以,则可以通过编辑... / WEB-INF / applicationContext-security.xml文件使用户/角色权限查看这些错误的堆栈跟踪,从而更轻松地进行故障排除。

答案 1 :(得分:0)

您应该检查日志文件以查看返回的错误。 “ C:\ Jaspersoft \ jasperreports-server-cp-7.5.0 \ apache-tomcat \ webapps \ jasperserver \ WEB-INF \ logs \ jasperserver.log”