SpagoBI + Firebird DataSource(结果集关闭)

SpagoBI + Firebird DataSource (The result set is closed)

我使用的是 Spagobi 3.6.0 版、Jaybird-2.2.2JDK_1.7 和 Firebird 2.5 (x64)。我设置了数据源,测试没问题。

我设置了一个数据集,预览显示了正确的列列表,只是没有数据。通过其他 SQL 查看器访问显示数据。

Catalina 日志中的错误消息是:

org.firebirdsql.jdbc.FBSQLException: The result set is closed 

有人知道我做错了什么吗?

经过一些测试,您的问题的解决方案是在数据源的连接 URL 中指定连接 属性 defaultHoldable=true,例如:

jdbc:firebirdsql://localhost/database?defaultHoldable=true

如前所述,您还需要升级到 Jaybird 2.2.7,否则您将遇到错误 JDBC-304 and/or JDBC-305

我没有检查过 SpagoBI 的代码,但看起来 SpagoBI 假设结果集在提交时始终保持不变,并使用自动提交执行其查询。它要么不使用自动提交,要么检查 DatabaseMetaData.getResultSetHoldability() and/or Connection.getHoldability() 并明确请求可持有的结果集。