【发布时间】:2014-05-06 14:04:38
【问题描述】:
我在 IBM WAS 8.5.5 服务器上运行 BIRT 4.3.2 报告引擎。
当有给定标准的实际结果时,报告可以正常加载。当没有结果时,我收到以下异常:
org.eclipse.birt.data.engine.odaconsumer.ResultSet fetch
SEVERE: Cannot fetch the next data row.
Throwable occurred: org.eclipse.birt.report.data.oda.jdbc.JDBCException: Cannot move down to next row in the result set.
SQL error #1:Invalid operation: result set closed
com.ibm.db2.jcc.c.SqlException: Invalid operation: result set closed
at org.eclipse.birt.report.data.oda.jdbc.ResultSet.next(ResultSet.java:198)
我知道这个话题:
由于我的报表数据源仅定义了 JDBC 类 com.ibm.db2.jcc.DB2Driver 和 JNDI URL,因此它使用 WAS 数据源。我确实尝试将 allowNextOnExhaustedResultSet 自定义属性作为整数值 1 添加到数据源,但这并没有为我解决任何问题。无论如何,这只是一种解决方法。
我在 BIRT 论坛上询问是否会解决此问题,没有回应?正如 IBM 建议的那样 - 修改应用程序代码以避免在没有记录或没有更多记录的情况下调用 ResultSet.next。这是 BIRT 数据引擎代码中的 ResultSet 类。
在此期间还有其他解决方法吗?
可能还值得一提的是,这在 BIRT 4.2.0
上运行没有问题【问题讨论】:
-
预览是否失败以及您向用户提供报告?
-
预览也失败了。您可能会问,因为我包含了我认为可能相关的服务器信息。这可能仍然是因为我用于预览的数据源是基于来自同一服务器运行时的驱动程序。无论如何,我找到了下面描述的解决方法
标签: birt