Java 代码中出现“没有为‘plsql’语言注册查询执行器工厂”异常

2024-03-11

我有一个简单的报告,显示数据库中的字段。我在 Jasper 中设置了一个数据适配器并放置了查询。我可以从 Jasper 成功预览报告,但是当涉及到 Java 时,它无法编译报告并显示以下异常

2014 年 6 月 18 日下午 3:17:49 org.apache.commons.digester.Digester endElement 严重:结束事件引发异常

引起原因:net.sf.jasperreports.engine.JRRuntimeException:没有为“plsql”语言注册查询执行器工厂。

java.lang.reflect.InitationTargetException 2014 年 6 月 18 日 3:17:49 PM me.jasper.print.StatementPrint 生成报告 严重:空

net.sf.jasperreports.engine.JRException: org.xml.sax.SAXParseException;行号:7;列数:16;第 7 行字符 16 处出错:没有为“plsql”语言注册查询执行器工厂。

引起的:org.xml.sax.SAXParseException;行号:7;列数:16;第 7 行字符 16 处出错:没有为“plsql”语言注册查询执行器工厂。

这是我的 Jasper 报告查询设置

<property name="com.jaspersoft.studio.data.defaultdataadapter" value="testDataAdapter"/>
<queryString language="plsql">
    <![CDATA[CALL getStatementDetails(250001 , "2012-01-01" , "2015-01-01" , 0 , 0)]]>
</queryString>

这是我的Java代码

JasperDesign jasperDesign = JRXmlLoader.load(new File("/home/mint/JaspersoftWorkspace/MyReports/ar/plsql.jrxml"));
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint print = JasperFillManager.fillReport(jasperReport, new HashMap<>()); 
JasperViewer jasperViewer = new JasperViewer(print, false);
jasperViewer.setVisible(true);

您必须指定查询执行器工厂,因为 JasperReports 库默认不包含对 plsql 的支持。在 iReport 中(至少在旧版本中),我相信这是默认设置的。您可以通过以下方式在 iReport GUI 中进行验证:

  • 菜单工具 -> 选项 -> 查询执行器
  • Specifically:
    • 语言 = plsql,
    • 工厂类 = com.jaspersoft.jrx.query.PlSqlQueryExecuterFactory
    • 字段提供程序类 = com.jaspersoft.ireport.designer.data.fieldsproviders.SQLFieldsProvider

要在 Java 中执行相同的操作,您必须执行以下操作某物 like:

jasperReport.setProperty( "net.sf.jasperreports.query.executer.factory.plsql"
                            ,"com.jaspersoft.jrx.query.PlSqlQueryExecuterFactory");

//Maybe this too, but not positive
JRProperties.setProperty( JRQueryExecuterFactory.QUERY_EXECUTER_FACTORY_PREFIX+"plsql"
                           ,"com.jaspersoft.jrx.query.PlSqlQueryExecuterFactory");

请注意,最近版本中的类名称已更改。所以,而不是JRQueryExecuterFactory,你可能需要使用QueryExecuterFactory。 (如果这没有帮助,您应该指定您正在使用的 JasperReports 版本。)您还需要确保 JasperReports 扩展库位于您的类路径中。您可以在 iReports lib 目录中找到该 jar。

外部资源:

  • JRQueryExecutorFactory http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/query/JRQueryExecuterFactory.html
  • 如何在 Jasper Reports 中执行 Oracle 存储过程 http://community.jaspersoft.com/wiki/how-execute-oracle-stored-procedure-jasper-report-web-application-environment
  • JasperServer 5.1 中没有为“plsql”语言注册查询执行器工厂 http://community.jaspersoft.com/wiki/no-query-executer-factory-registered-plsql-language-jasperserver-51
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 代码中出现“没有为‘plsql’语言注册查询执行器工厂”异常 的相关文章

  • 在哈希图中存储字符和二进制数

    我正在尝试存储字母到二进制数的映射 这是我的映射 h 001 i 010 k 011 l 100 r 101 s 110 t 111 为此 我创建了一个哈希映射并存储了键值对 我现在想显示给定句子的相应二进制值 这是我的代码 package
  • JBoss AS 5 中的共享库应该放在哪里?

    我是 Jboss 新手 但我有多个 Web 应用程序 每个应用程序都使用 spring hibernate 和其他开源库和 portlet 所以基本上现在每个 war 文件都包含这些 jar 文件 如何将这些 jar 移动到一个公共位置 以
  • 如何在数据库中对 (Java) 枚举进行建模(使用 SQL92)

    您好 我正在使用名为 性别 的列对实体进行建模 在应用程序代码中 性别应该是一个 Java 枚举类型 有 2 个值 男性和女性 知道作为数据类型的枚举不是通用 SQL 语言 92 的一部分 您将如何建模它 数据模型必须是可移植的 以便由多个
  • 使用 JAXB 编组 LocalDate

    我正在构建一系列链接类 我希望能够将其实例编组到 XML 以便我可以将它们保存到文件中并稍后再次读取它们 目前我使用以下代码作为测试用例 import javax xml bind annotation import javax xml b
  • java中队列的实现

    在 Java 中实现队列是一个非常常见的面试问题 我在网上冲浪 看到了许多实现 他们做了一些奇特的事情 比如实现队列接口和编写自己的addLast and removeFirst 方法 我的问题是我不能使用LinkedList 类并使用其预
  • Maven 目标的默认阶段?

    据我了解 在 Maven 中 插件目标可以附加到生命周期阶段 如果没有定义 默认阶段是什么 根据我的经验 这取决于插件的目标 例如 组装 单个 http maven apache org plugins maven assembly plu
  • FFmpeg 不适用于 android 10,直接进入 onFailure(String message) 并显示空消息

    我在我的一个项目中使用 FFmpeg 进行视频压缩 在 Android 10 Google Pixel 3a 上 对于发送执行的任何命令 它会直接进入 onFailure String message 并显示空消息 所以我在我的应用程序 g
  • 通过 JNI 从 Applet 调用 DLL

    我有一个 概念验证 的作品 它跨越了一些不熟悉的领域 我的任务是将 EFTPOS 机器连接到在内联网浏览器中作为小程序运行的应用程序 我暂时忽略了 EFTPOS dll 并用我选择的语言 Delphi 创建了一个简单的 JNI 修饰的 DL
  • JavaFx 中装饰且不可移动的舞台

    我想在 JavaFx 中创建一个装饰舞台 它也将不可移动 我正在从另一个控制器类创建这个阶段 我能够创造和展示舞台 但它是自由移动的 我怎样才能创建这个 非常感谢帮助和建议 我把打开新关卡的方法贴出来 private void addRec
  • Scala(或 Java)中泛型函数的特化

    是否可以在 Scala 中专门化泛型函数 或类 例如 我想编写一个将数据写入 ByteBuffer 的通用函数 def writeData T buffer ByteBuffer data T buffer put data 但由于 put
  • 如何在命令提示符中检查 JAVA_OPTS 值?

    我们的应用程序部署 JBoss 服务器然后抛出错误 PermGen space 然后在 jboss bat 和配置文件中设置 permgen 变量中的 java OPTS JAVA OPTs 中是否有值 assige 如何检查 如何在命令提
  • MessageDigest MD5 算法未返回我期望的结果

    我脑后的某个东西告诉我 我在这里遗漏了一些明显的东西 我正在将现有的 java 项目与第三方 api 集成 该第三方 api 使用 api 密钥的 md5 哈希进行身份验证 它对我不起作用 在调试过程中我意识到我生成的哈希值与他们提供的示例
  • Java 中 static 关键字如何工作?

    我正在阅读Java教程 http docs oracle com javase tutorial index html从一开始我就有一个问题static字段或变量上的关键字 作为Java said here http docs oracle
  • Kerberos 缓存票证

    我使用的是 Windows 7 64 位 我创建了一个简单的应用程序来对实现 PrivilegedAction 的类的 run 方法中的文件进行计数 以下是我的 jaas conf 文件 CountFiles com sun securit
  • 在多模块项目中访问绑定适配器

    我有一个多模块项目 其中应用程序模块包含我的绑定适配器 而我的功能模块取决于我的应用程序模块 因为它是动态功能模块 应用程序 包含绑定适配器 gt 动态功能模块 存在布局的地方 我在所有模块中启用了数据绑定和 kapt 我无法成功构建应用程
  • NoSuchMethodError:将 Firebase 与应用程序引擎应用程序集成时

    我试图将 firebase 实时数据库与谷歌应用程序引擎应用程序集成 我在调用时收到此错误 gt DatabaseReference ref FirebaseDatabase gt getInstance gt getReference t
  • 删除 ArrayList 对象问题

    我在处理作业时遇到从 ArrayList 中删除对象的问题 如果我使用 正常 for 循环 它的工作原理如下 public void returnBook String isbn for int i 0 i lt booksBorrowed
  • 如何在 Java 中创建要打印到 JFrame 的 JLabels 数组

    我正在尝试制作一系列标签 每个标签都有一个来自函数的不同值 我不知道要使用的标签的确切数量 我的意思是可以打印任意数量的值 请帮我做这件事 很简单 只需一个方法返回一个数组或一些 JLabels 集合 并将它们全部添加到您的 JCompon
  • 当我在 Java 中输入 IP 时无法连接到我的服务器

    好的 我正在尝试学习 Java 客户端 服务器的内容 并且正在浏览教程代码 如下所示 当我将 localhost 更改为我的 IP 时 它会停止工作 请帮忙 编辑 127 0 0 1 似乎也可以工作 但不是我的真实IP Copyright
  • 在多线程环境中,Collections.sort 方法有时会抛出 ConcurrentModificationException。列表没有进行结构性修改

    package CollectionsTS import java util ArrayList import java util Collections import java util HashSet import java util

随机推荐

  • uWSGI、Flask、sqlalchemy 和 postgres:SSL 错误:解密失败或坏记录 mac

    我正在尝试使用 uWSGI Nginx 设置一个应用程序网络服务器 它使用 SQLAlchemy 运行 Flask 应用程序来与 Postgres 数据库进行通信 当我向网络服务器发出请求时 所有其他响应都将是 500 错误 错误是 Tra
  • Java日期更改格式[重复]

    这个问题在这里已经有答案了 我正在尝试更改格式Date对象 我尝试这样做 for Date date dates DateFormat formatter new SimpleDateFormat yyyy MM dd String for
  • 将 Python 枚举编码为 JSON

    我有一本字典 其中一些键是 Enum 实例 enum Enum 的子类 我正在尝试使用自定义 JSON 编码器类将字典编码为 JSON 字符串 如下所示文档 https docs python org 3 library json html
  • 创建卷的 Docker 容器后,本地主机上的权限更改为 1000

    我的容器使用外部卷创建后 权限变为1000 drwxr x 71000 10004096 三月 02 01 13 my domain 每次我需要更改它我的用户 AS docker 由 root 用户安装 我怎样才能避免这种情况 有人可以写点
  • 将 Jython 与 Maven 结合使用

    我有一个 Maven 模块 它依赖于我通过 jython 代码访问的各种其他 Maven 依赖项 我现在已经完成了 我想将项目编译为 jar 或者甚至只是运行它而不编译 但我不知道从哪里开始 有谁知道如何运行一些 py 文件来访问其他包中的
  • MYSQL - 使用 while 循环更新

    declare c int set c 1 while c lt 700 do update users set profile display name concat substring first name 1 1 last name
  • .NET Core 更新迁移正在尝试再次重新创建表

    我首先正在开发 net core 3 项目代码 在此步骤中 我在表中添加了 2 列 然后我通过此代码 CLI 对解决方案进行了迁移添加 dotnet ef startup project MyApi Api migrations add a
  • mysql.service 丢失但显示在列表中 - 安装失败

    我使用的是 Ubuntu 17 04 长话短说 在与 MariaDB 进行了一些斗争之后 我遵循了一些关于如何完全地从我的家庭服务器中删除 MySQL 和 MariaDB 现在我无法重新安装mysql server 当我尝试时出现此错误 F
  • 非 ANSI 文件的 TStringList 行为

    在我的应用程序中 当我想要导入文件时 我使用 TStringList 但是 当有人从Excel导出数据时 文件编码是UCS 2 Little Endian TStringList无法读取数据 有什么方法可以验证这种情况 识别文本编码并向用户
  • Mod_wsgi工作进程分段错误(11)

    我的 django 应用程序有问题 该应用程序由 apache mod wsgi 托管 我在应用程序中添加了一些 matplotlib 代码 apache 工作进程现在崩溃了 我将这个问题简化为以下内容 没有任何 matplotlib 导入
  • 添加模型到集合后自动保存

    我有一个收藏myCollection我向其中添加模型如下 myCollection add title Romeo and Juliette author Shakespear 我现在可以将这个添加的模型保存到服务器吗 骨干Collecti
  • 找不到方法:'Void Google.Apis.Util.Store.FileDataStore..ctor(System.String)'

    我已经被困在这个问题上好几天了 我从 google api 示例中复制了确切的代码以将文件上传到 Google Drive 这是代码 UserCredential credential GoogleWebAuthorizationBroke
  • Spark失败:引起:org.apache.spark.shuffle.FetchFailedException:框架太大:5454002341

    我正在为确定父子项的表生成层次结构 以下是使用的配置 即使在收到有关太大框架的错误后也是如此 火花特性 conf spark yarn executor memoryOverhead 1024mb conf yarn nodemanager
  • 什么是 XPS 文件以及如何使用它

    我有一个简单的 C net Web 应用程序 我正在使用 XPS 文件 我使用了以下代码 private void button1 Click object sender EventArgs e try string xpsFile D C
  • C++ 多维数组运算符

    是否可以以某种方式重载多维数组的运算符 就像是 class A int operator const int x const int y 不 那是不可能的 不过 还有两种选择 你可以有operator 返回较小维度的数组 对于 3D 数组
  • Swift 中的懒惰是什么意思? [复制]

    这个问题在这里已经有答案了 我询问了有关堆栈溢出的多个问题 但没有得到可以定义什么是 LAZY 关键字以及为什么我们在 Swift 中使用它的答案 我对 Swift 很陌生 请解释一下 该词在两种情况下使用 惰性变量是一种存储的属性 只计算
  • action:@selector(showAlert:) 如何在这个showAlert方法中传递参数?

    我正在将自定义按钮添加到我的UITableViewCell 在该按钮的操作中我想打电话showAlert 函数并希望在方法中传递单元格标签 我如何在其中传递参数showAlert方法 action selector showAlert 如果
  • ASP.NET Core 6 中的非缓冲输出

    我正在尝试使用真正基本的 ASP NET Core 6 应用程序实现简单的流 非缓冲输出 下面的简单代码应该将 hello world 文本输出到客户端 然后关闭连接 甚至通过添加文档IHttpResponseBodyFeature选项 a
  • Google 地图动态语言更改

    我在我的一个项目中使用backbone js 并且使用Google 地图api 版本3 根据一些ajax 响应 我想动态更改Google 地图语言 有什么方法可以做到这一点 任何建议将不胜感激 提前致谢 考虑以下示例 其中我使用按钮 但您可
  • Java 代码中出现“没有为‘plsql’语言注册查询执行器工厂”异常

    我有一个简单的报告 显示数据库中的字段 我在 Jasper 中设置了一个数据适配器并放置了查询 我可以从 Jasper 成功预览报告 但是当涉及到 Java 时 它无法编译报告并显示以下异常 2014 年 6 月 18 日下午 3 17 4