尝试将报告从 jasperreports 3.5.3 升级到 6.3.1 。。
jrxml 的摘要:
<queryString language = "plsql"> <![CDATA[{call RPT_OCP($P{CUR},$P{ORACLE_REF_CURSOR})}]]> </queryString>
在试图编译报告时,面临以下例外,
Caused by: net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Class com.jaspersoft.jrx.query.PlSqlQueryExecuterFactory not found.
[java] at net.sf.jasperreports.engine.design.JRDesignDataset.queryLanguageChanged(JRDesignDataset.java:1255)
[java] at net.sf.jasperreports.engine.design.JRDesignDataset.setQuery(JRDesignDataset.java:695)
[java] at net.sf.jasperreports.engine.design.JasperDesign.setQuery(JasperDesign.java:881)
[java] ... 37 more
6.3.1版本的 jasperreports 没有任何 jasperreport-extentions jar ,为此有什么作用?
您应该检查 plsql 语言的处理程序( opecuter (是否定义在上jasperreports.properties 文件。
正确的定义(对于 6.x 版本(是:
net.sf.jasperreports.query.executer.factory.plsql=net.sf.jasperreports.engine.query.PlSqlQueryExecuterFactory
也许您有不同的东西,因为 jasperreports 引擎。
btw, jasperReports 3.5.3 不支持此扩展( plsql (。我认为使用 com.jaspersoft.jrx.query.plsqlqueryexecuterfactory 在您的情况下是某种存根/修复。