贾斯珀报告 6.3。为 queryString 中使用的 plsql 语言获取 'Class com.jaspersoft.jrx.query.PlSqlQueryExecuterFactory not found' 错误
JasperReports 6.3. Get 'Class com.jaspersoft.jrx.query.PlSqlQueryExecuterFactory not found' error for plsql language used at queryString
正在尝试将报告从 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 语言的处理程序 (Executer) 定义在jasperreports.properties 文件。
正确的定义(对于6.x版本)是:
net.sf.jasperreports.query.executer.factory.plsql=net.sf.jasperreports.engine.query.PlSqlQueryExecuterFactory
也许您的 JasperReports 引擎版本与之前版本有所不同。
顺便说一句,JasperReports 3.5.3 不支持此扩展 (plsql)。我认为在你的情况下使用 com.jaspersoft.jrx.query.PlSqlQueryExecuterFactory 是某种 stub/fix.
正在尝试将报告从 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 语言的处理程序 (Executer) 定义在jasperreports.properties 文件。
正确的定义(对于6.x版本)是:
net.sf.jasperreports.query.executer.factory.plsql=net.sf.jasperreports.engine.query.PlSqlQueryExecuterFactory
也许您的 JasperReports 引擎版本与之前版本有所不同。
顺便说一句,JasperReports 3.5.3 不支持此扩展 (plsql)。我认为在你的情况下使用 com.jaspersoft.jrx.query.PlSqlQueryExecuterFactory 是某种 stub/fix.