DB2 JDBC driver's bug?, Connection is closed

本文描述了使用 DB2 JDBC 4 类型驱动时遇到的一个问题:尝试执行 SQL 查询时抛出了连接已关闭的异常。该问题在 MySQL、Oracle 和 Sybase 等其他数据库上并未出现。最终解决方案是在创建 Statement 时指定特定的参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

I use code(DB2 JDBC 4 type driver):
[code]
Connection conn = ...;
Statement stat = conn.prepareCall(query);
state.execute();
...
resultSet.getMetaData();
[/code]

and I get exception like:
[code]
com.ibm.db2.jcc.b.SqlException: [ibm][db2][jcc][10335][10366] Invalid
operation: Connection is closed.
at com.ibm.db2.jcc.b.bb.Nb(bb.java:3356)
at com.ibm.db2.jcc.b.bb.a(bb.java:1589)
at com.ibm.db2.jcc.b.bb.prepareStatement(bb.java:490)
[/code]

It's very strange that the same code works fine on MySql, Oracle, Sybase etc, at last it works, but I must create Statement like:
[code]
statement = conn.prepareCall(query,
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
[/code]

So it's a DB2 JDBC driver implementation bug?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值