您的位置:首页 > 其它

DB2报错:在对连接的底层socket执行操作期间发生通信错误

2016-03-26 21:37 459 查看
问题描述,可能有以下几种报错信息,具体报错信息没有保存,搜了一些相关的报错信息:

1,,异常信息: [jcc][t4][2030][11211][3.59.81] 在对连接的底层 socket、socket input stream 或 socket output stream 执行操作期间发生通信错误。错误位置:Reply.fill() 

2,ERROR - [jcc][t4][2030][11211][3.50.152] 在对连接的底层 socket、socket input stream 或 socket output stream 执行操作期间

发生通信错误。错误位置:Reply.fill()。消息:Software caused connection abort: recv failed。 ERRORCODE=-4499, SQLSTATE=08001

ERROR - could not execute query; nested exception is org.hibernate.exception.JDBCConnectionException: could not execute query

ERROR - [jcc][t4][10335][10366][3.50.152] 操作无效:连接已关闭。 ERRORCODE=-4470, SQLSTATE=08003

ERROR - [jcc][t4][10335][10366][3.50.152] 操作无效:连接已关闭。 ERRORCODE=-4470, SQLSTATE=08003

ERROR - could not execute query; nested exception is org.hibernate.exception.JDBCConnectionException: could not execute query

ERROR - Class ADSyncServiceImpl Method saveList : a different object with the same identifier value was already associated with the session: [com.zony.dms.entity.ADOU#0]; nested exception is org.hibernate.NonUniqueObjectException: a different object with the
same identifier value was already associated with the session: [com.zony.dms.entity.ADOU#0]

ERROR - [jcc][10120][10943][3.50.152] 操作无效:已关闭 statement。 ERRORCODE=-4470, SQLSTATE=null

3,[jcc][t4][2030][11211][3.63.123] 在对连接的底层 socket、socket input stream 或 socket output stream 执行操作期间 

发生通信错误。错误位置:Reply.fill() - socketInputStream.read (-1)。消息:Read timed out。 ERRORCODE=-4499, SQLSTATE=08001

4,com.ibm.db2.jcc.c.DisconnectException: [ibm][db2][jcc][t4][2030][11211] 检测到了通信错误

5,Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:   

--- The error occurred while applying a parameter map.  

--- Check the AnnouncementInfo.updateByPrimaryKey-InlineParameterMap.  

--- Check the statement (update failed).  

--- Cause: com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException: [jcc][t4][2030][11211][3.59.81] 在对连接的底层 socket

、socket input stream 或 socket output stream 执行操作期间

发生通信错误。错误位置:Reply.fill() - socketInputStream.read (-1)。消息:Read timed out。 ERRORCODE=-4499, SQLSTATE=08001
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:91)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:505)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionImpl.java:90)
at org.springframework.orm.ibatis.SqlMapClientTemplate$10.doInSqlMapClient(SqlMapClientTemplate.java:413)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:209)
... 87 more

Caused by: com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException: [jcc][t4][2030][11211][3.59.81] 在对连接的底层 socket

、socket input stream 或 socket output stream 执行操作期间

发生通信错误。错误位置:Reply.fill() - socketInputStream.read (-1)。消息:Read timed out。 ERRORCODE=-4499, SQLSTATE=08001

今天测试一个功能的添加公告和修改公告的功能,遇到了这个很让人无语的报错。我们公司使用的是IBM的DB2数据库,测试数据库在linux服务器上,我们平时都是使用这个UAT的测试环境,DB2数据库就部署在远程的一个linux服务器上。项目底层用的是mybatis。问题描述有以下几个要点:

1,DB2数据库不在本地;

2,报错信息诡异,很难定位,我半天也没有找到代码的问题,最后把SQL直接在数据库中执行,发现问题是相同的,并且报错信息也相同;

3,报错信息时有时无,也就是说有时候有问题,有时候又没问题了。

4,我用的这台电脑平时就经常断网,网络不流畅并且机器运行速度慢,总是卡;

5,提交以后,程序一般都要等到10+秒以后报错,网页报错内容“系统错误,请联系管理员(或者检查数据的格式和长度是否正确)”

经过半天的测试,最后判断是数据库通信的问题,之后将程序部署到UAT环境以后,这个问题得到了解决。因为在UAT环境,IBM的应用程序服务器WebSphere 和 DB2 在同一个网络环境下。

总结一下,给大家参考,少走弯路。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: