0

我正在使用带有 JDBC 的 DB2,当我在连接空闲几分钟后第一次尝试运行时,下面的代码会抛出 SQLException。从第二次开始,它将完全按照它必须的方式工作。

ResultSet.next()

关于什么会导致异常的任何想法?

异常跟踪:

FFDC Exception:com.ibm.db2.jcc.am.lo SourceId:com.ibm.ws.rsadapter.jdbc.WSJdbcResultSet.next 
ProbeId:2624 Reporter:
com.ibm.ws.rsadapter.jdbc.WSJccResultSet@b080b08
com.ibm.db2.jcc.am.lo: The current transaction was rolled back because of error "-30108".. SQLCODE=-1476, SQLSTATE=40506, DRIVER=3.57.110
at com.ibm.db2.jcc.am.bd.a(bd.java:663)
at com.ibm.db2.jcc.am.bd.a(bd.java:60)
at com.ibm.db2.jcc.am.bd.a(bd.java:127)
at com.ibm.db2.jcc.am.am.b(am.java:3760)
at com.ibm.db2.jcc.t4.eb.h(eb.java:278)
at com.ibm.db2.jcc.t4.eb.a(eb.java:239)
at com.ibm.db2.jcc.t4.eb.c(eb.java:31)
at com.ibm.db2.jcc.t4.u.a(u.java:32)
at com.ibm.db2.jcc.t4.j.Zb(j.java:259)
at com.ibm.db2.jcc.am.am.X(am.java:3554)
at com.ibm.db2.jcc.t4.d.f(d.java:1881)
at com.ibm.db2.jcc.am.gc.a(gc.java:200)
at com.ibm.db2.jcc.t4.d.a(d.java:109)
at com.ibm.db2.jcc.am.am.c(am.java:366)
at com.ibm.db2.jcc.am.am.next(am.java:293)
at com.ibm.ws.rsadapter.jdbc.WSJdbcResultSet.next(WSJdbcResultSet.java:3120)
4

1 回答 1

3

“外部” SQL 代码-1476表示事务已回滚,因为“内部” SQL 代码-30108表示:

连接失败但已重新建立。特殊寄存器设置可能已重播。新连接的主机名或 IP 地址:host-name。新连接的服务名称或端口号:service-name。原因码:原因码。

我猜你的连接超时了,它掉线了。

于 2013-02-06T21:32:13.643 回答