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()
并明确请求可持有的结果集。
我使用的是 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()
并明确请求可持有的结果集。