发生通信错误。错误位置:Reply.fill() - insufficient data (-1)。消息:数据不足。 ERRORCODE=-4499

晨缤绽放 2016-03-22 03:16:26
加精
Linux系统,WAS8.5,使用JNDI连接DB210,每天凌晨12:05:07就报下面的错:

发生通信错误。错误位置:Reply.fill() - insufficient data (-1)。消息:数据不足。 ERRORCODE=-4499, SQLSTATE=08001
SQLSTATE=08001

以前从来没有遇到过,用DB2DataStudio连接数据库也正常,但是web应用程序连接不上,报错的地方是使用的Spring的定时器,每隔1分钟从DB中查询数据,然后发送邮件。其他模块调用数据库没问题,就报这里有问题。


在网上搜索了下,以下方法根本没用,现在生产环境每天都报,时间久了就得重启WAS,要不然其他功能也不行,跪求大神帮忙


-------------------------
参考解决办法

a、 需要使用db2set DB2COMM=TCPIP,才可以使用jdbc type v4来连接

b、 若此时仍旧报错,检查”db2 get dbm cfg |grep SVCENAME”,查看TCP/IP服务名称和/etc/services中定义的db2服务名称是否匹配,windows下是“WINDOWS\systemtem32\driver\etc\services”,若不匹配,使用”db2 “update dbm cfg using SVCENAME serviceName”, ”db2 terminate”,然后重启db2服务即可

或者 把 jdbc:db2://127.0.0.1:50000/.........; 中的127.0.0.1 换成自己电脑名字或者IP即可,不要用127.0.0.1和localhost的这是笨的解决办法

------------------------
...全文
5242 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
晨缤绽放 2016-08-11
  • 打赏
  • 举报
回复
一个偶然的机会找到问题所在。ADS工具连接DB2时,长时建不连接DB或者DB重启,但是ADS的查询窗口没关闭再次查询也会报同样的错误。因为DBA设置了每天凌晨12:00重启DB,所以应用在12:05即DB重启后再实行定时器的查询任务时就会报这错,因为连接已经断开了,程序第二次连接不上就会创建新的连接,所以第一次报的错,只要捕获一下就行了,我是捕获后直接输出一句“DB重启后再次连接。”。搞定,终于还是被自己搞定了,大牛还是没出现。
晨缤绽放 2016-04-28
  • 打赏
  • 举报
回复
大神呢在哪里
晨缤绽放 2016-04-05
  • 打赏
  • 举报
回复
自己再顶一个
qq_32594441 2016-03-26
  • 打赏
  • 举报
回复
你说的不错阿;
晨缤绽放 2016-03-24
  • 打赏
  • 举报
回复
不行,所以才来发贴啊
songsove 2016-03-23
  • 打赏
  • 举报
回复
你提供的解决方案能解决这个问题么?
  • 打赏
  • 举报
回复
我也不太清楚,你提供的解决方案能解决这个问题么? 给你推荐,期待其他大牛吧

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧