如何在java中的jasper reports中注册QueryExecuterFactory

如何在java中的jasper reports中注册QueryExecuterFactory,java,jasper-reports,Java,Jasper Reports,我实现了JRQueryExecuter,并希望在报告中使用它。使用iReport,我成功地注册并使用了executer 现在我想在java应用程序中使用它,但是我找不到任何资源来说明如何注册工厂 我认为在类路径中实现就足够了,但我得到了以下例外: Caused by: net.sf.jasperreports.engine.JRException: No query executer factory class registered for tmql queries. at net.sf.jas

我实现了JRQueryExecuter,并希望在报告中使用它。使用iReport,我成功地注册并使用了executer

现在我想在java应用程序中使用它,但是我找不到任何资源来说明如何注册工厂

我认为在类路径中实现就足够了,但我得到了以下例外:

Caused by: net.sf.jasperreports.engine.JRException: No query executer factory class registered for tmql queries.
at net.sf.jasperreports.engine.query.DefaultQueryExecuterFactoryBundle.getQueryExecuterFactory(DefaultQueryExecuterFactoryBundle.java:80)
at net.sf.jasperreports.engine.util.JRQueryExecuterUtils.getQueryExecuterFactory(JRQueryExecuterUtils.java:57)
at net.sf.jasperreports.engine.design.JRDesignDataset.queryLanguageChanged(JRDesignDataset.java:1006)
有人能给我一个提示吗

问候
Hannes

文档建议设置一个属性:

JasperReport jasperReport = <...>
jasperReport.setProperty(JRQueryExecuterFactory.QUERY_EXECUTER_FACTORY_PREFIX + "<query language>", "<value>");
JasperReport JasperReport=
jasperReport.setProperty(JRQueryExecuterFactory.QUERY\u EXECUTER\u FACTORY\u前缀+“”,“”);

这行吗?

使用jasperreports 5.2.0,您需要:

  • 创建自定义
    YourCustomExecuterFactory
    实现
    QueryExecuterFactory
  • 使新的
    YourCustomExecuterFactory
    使用自定义
    JRQueryExecuter
    实现方法
    QueryExecuterFactory.createQueryExecuter(…)
  • 将新语言(tmql?)映射到自定义工厂。在
    jasperesport.properties
    中设置此属性:
    net.sf.jasperreports.query.executer.factory.tmql=your.package.YourCustomExecuterFactory

  • 希望这对某人有所帮助。

    在调用JasperCompileManager之前设置属性

    下面使用plsql查询语言的示例:

    JRProperties.setProperty(QueryExecuterFactory.QUERY_EXECUTER_FACTORY_PREFIX+"plsql"
                                ,"com.jaspersoft.jrx.query.PlSqlQueryExecuterFactory");
    JasperReport jasperReport =
                JasperCompileManager.compileReport(sourceFile);
    

    Jasper Reports v6.1.0及更高版本中不推荐使用JRProperties-是否有任何示例说明如何使用jasperreports v6.8.0执行相同操作?使用JRPropertiesUtil如何设置plsql查询?