首页 > 基础设施 > 正文

DB2客户端连接服务器报错的解决方法

2011-12-20 11:01:08  来源:中国IT实验室

摘要:为什么DB2客户端连服务器总是报错SQL30081N呢?这可能是很多人都遇到过的问题,下面就教你一个解决DB2客户端连接服务器报错的方法,供您参考。
关键词: 服务器

  为什么DB2客户端连服务器总是报错SQL30081N呢?这可能是很多人都遇到过的问题,下面就教你一个解决DB2客户端连接服务器报错的方法,供您参考。


  当你遇到无法连接DB2的问题时,首先要了解整个层次模型,多层模型将会涉及一个或多个中间层,会给故障定位增加难度。另外,诸如操作系统、DB2版本及补丁级别、通讯协议也是要了解的。


  一个基本的故障解决方法是:如果是DB2客户端上的应用遇到问题,那么用DB2命令行来测试是否可以连接到DB2服务器。如果是三层结构,那么直接在中间层上尝试连接DB2服务器。


  通常,有关通讯的故障会出现以下信息:


  SQL30081N A communication error has been detected. Communication


  protocol being used: “TCP/IP”. Communication API being used: “SOCKETS”.


  Location where the error was detected: “”. Communication function


  detecting the error: “connect”. Protocol specific error code(s):


  “10061”, “*”, “*”. SQLSTATE=08001


  如果问题是持续的,那会比较好解决,有可能是配置的问题,或者网络通讯。如果问题是间断性的,那可能涉及网络故障、连接池中代理太少。


  如果你是远程DB2客户端遇到问题,那么先测试服务器本地是否可以连到DB2 Server.如果还是无法连接,那么查看DB2服务器是否正常工作。如果可以连接,说明网络通讯故障,或者远程客户端配置有问题。


  检查服务器的配置情况如下:


  验证存在的DB2数据库


  db2 list db directory


  db2 list db directory show detail


  验证实例使用的通讯协议,查看DB2COMM变量


  db2set -all


  查看数据库管理器的配置,查看SVCENAME(特指tcpip协议)


  db2 get dbm cfg


  查看/etc/services中,有无与上面对应SVCENAME的端口,例如:


  db2cDB2 50000/tcp


  要确认服务器是否在监听,可以用netstat -an 来查看端口是否处于LISTEN状态


  检查客户端的配置如下:


  验证远程服务器实例配置


  db2 list node directory


  db2 list node directory show detail


  ping hostname来验证通讯


  使用telnet hostname port来验证是否能连到实例


  另外,DB2提供了一个PCT工具来专门解决有关通讯的故障,如果上面的方法还没有解决你的问题,那么请参阅相关资料来使用它。


第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:chaisenshark

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。