连接空闲后的SQLException

时间:2013-02-06 21:00:23

标签: java jdbc db2 sqlexception

我正在使用DB2和JDBC,当我在连接闲置几分钟后尝试第一次运行时,下面的代码抛出了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)

1 个答案:

答案 0 :(得分:3)

“外部”SQL Code, -1476表示由于“内部”SQL Code, -30108而导致事务回滚,其中说明:

  

连接失败但已重新建立。特别注册   设置可能已被重播。新主机名或IP地址   连接:主机名。新服务名称或端口号   连接:服务名称。原因代码:原因代码。

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