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

数据库
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工具来专门解决有关通讯的故障,如果上面的方法还没有解决你的问题,那么请参阅相关资料来使用它。

 

 

【编辑推荐】

带您了解DB2锁的类型

db2表空间被锁的解决方法

带约束的DB2建表语句

不允许设置db2主键问题的解决

DB2创建表空间的方式

责任编辑:段燃 来源: 互联网
相关推荐

2010-09-01 10:59:42

DB2服务器

2010-11-02 17:01:09

DB2客户端远程连接

2010-08-27 14:43:03

DB2服务器

2010-10-11 17:46:01

mysql客户端

2010-11-04 10:44:27

DB2 not fou

2010-11-02 16:51:33

DB2连接服务器

2010-11-01 11:57:18

DB2客户端

2010-06-09 14:39:58

2010-07-29 17:33:51

DB2客户端开发

2010-10-26 13:54:45

连接Oracle服务器

2010-11-02 16:02:59

db2表空间

2010-11-03 09:34:39

DB2临时表

2010-08-27 10:13:09

DB2服务器安装

2010-08-13 14:46:08

DB2 -964

2009-08-18 12:51:19

服务器+客户端

2010-08-27 10:18:24

DHCP服务

2011-06-09 10:51:26

Qt 服务器 客户端

2010-08-16 17:36:48

DB2连接服务器

2010-08-02 09:27:22

DB2连接服务器

2009-06-25 10:30:30

点赞
收藏

51CTO技术栈公众号