繁体   English   中英

在JasperReports Server中的JasperReports SQL查询中的IF Else条件中使用SELECT语句

[英]Using SELECT statement inside an IF Else condition in JasperReports SQL query in JasperReports Server

我有以下示例查询:

     IF(1=1)
      Select  top 10 * from Person

     ELSE
      Select top 10 * from Person where Id < 20

当我使用iReport使用上述查询创建报告时,报告工作正常。

但是,当我将同一报告上载到JasperReports Server并尝试运行该报告时,它会引发以下错误。

ERROR Validator,report1 subreports #1:493 - Invalid SQL:An error has occurred. 
Please contact your system administrator. (6632), 
SQL: IF(1=1)Select  top 10 * from PersonELSESelect top 10 * from Person where Id < 20.

JasperReports Server是否在SELECT语句之外支持IF..Else条件?

有人知道这个错误吗?

搜索约4天后,我找到了解决方案。

Jasper Server允许仅以“ SELECT”关键字开头的SQL查询。 因此,为了使其他查询正常工作,我们必须修改“ webapps / jasperserver / WEB-INF / classes / esapi / security-config.properties / validation.properties”位置中存在的“ Validator.ValidSQL”正则表达式。 。

我已经修改了此正则表达式以支持“ IF”条件并使其正常工作。

从jasper社区论坛获得了以下解决方案:

http://community.jaspersoft.com/questions/800208/stored-procedures-works-ireport-does-not-work-jasperserver

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM