查看: 15899|回复: 13

[精华] 为什么客户端连服务器总是报错SQL30081N错???

[复制链接]
论坛徽章:
2
授权会员
日期:2006-01-08 13:31:46ITPUB元老
日期:2006-01-08 13:31:06
跳转到指定楼层
1#
发表于 2006-1-10 10:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为什么所有客户端连服务器总是报错SQL30081N错???

新建 位图图像.jpg (20.12 KB, 下载次数: 105)

新建 位图图像.jpg
论坛徽章:
2
授权会员
日期:2006-01-08 13:31:46ITPUB元老
日期:2006-01-08 13:31:06
2#
 楼主| 发表于 2006-1-10 16:26 | 只看该作者
问题已经基本搞清!
在网上找了很久,觉得这份帖子比较精辟。

http://beta.xmu.cn/modules.php?o ... article&sid=111

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

使用道具 举报

回复
论坛徽章:
233
天枰座
日期:2016-02-02 09:36:332012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41灰彻蛋
日期:2011-06-22 19:28:30现任管理团队成员
日期:2011-05-07 01:45:082010广州亚运会纪念徽章:拳击
日期:2011-04-08 16:56:552011新春纪念徽章
日期:2011-02-18 11:43:332011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:15
3#
发表于 2006-1-10 17:00 | 只看该作者
up

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2006-01-08 13:31:46ITPUB元老
日期:2006-01-08 13:31:06
4#
 楼主| 发表于 2006-1-13 09:17 | 只看该作者
检查服务器的配置情况如下:

验证存在的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状态

(来源IBM教材)
为远程连接而准备 DB2 服务器

在 DB2 客户机能够连接到数据库以前,必须确保正确设置了服务器端通信。要准备将服务器用于 TCP/IP 和 NetBIOS 连接:

设置 DB2 概要文件注册表 DB2COMM,以使实例支持指定的通信,如下所示:

db2set DB2COMM=TCPIP,NETBIOS

在数据库管理器配置文件中为每个受支持的协议设置必需的信息。
对于 TCP/IP,为每个支持 TCP/IP 的实例分配一个端口号。名为 services 的文件包含在系统上定义的服务及其端口号。该文件的位置取决于平台。例如,在 UNIX 上,它通常被存储在 /etc 中。

由于一个端口号只能被一个服务使用,所以建议将 services 文件用作维护所有服务及其相关端口号列表的中央位置。要把 TCP 端口 50000 保留给名为 db2icdb2 的服务,可将以下行追加到 services 文件:
db2icdb2     50000/tcp

更新数据库管理器配置文件,以便 DB2 将把与服务 db2icdb2 相关的端口号用于您正在使用的实例:

db2 update database manager configuration using svcename db2icdb2
                                       
如果选择不使用 services 文件,只需用正确的端口号更新 svcename:

db2 update database manager configuration using svcename 50000

对于 NetBIOS,只需在数据库管理器配置文件中输入 NetBIOS 工作站名称(nname):
db2 update database manager configuration using nname DB2NTSERV

参数 svcename 和 nname 不能联机配置。先停止实例然后重新启动它,以便能够使用新值:

db2stop
db2start

使用道具 举报

回复
论坛徽章:
3
授权会员
日期:2006-02-05 11:03:26数据库板块每日发贴之星
日期:2006-02-10 01:02:41IBM软件技术精英协会成员
日期:2006-12-21 15:37:12
5#
发表于 2006-1-25 18:12 | 只看该作者
如果是有是能够连接,有时又不能连接,请看看你们的网络情况怎样?

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2006-06-22 16:16:05
6#
发表于 2006-1-26 15:10 | 只看该作者
比较经典

使用道具 举报

回复
论坛徽章:
0
7#
发表于 2006-12-21 10:33 | 只看该作者
检查客户端的配置如下:


验证远程服务器实例配置
db2 list node directory
db2 list node directory show detail
ping hostname来验证通讯
使用telnet hostname port来验证是否能连到实例
按照这个验证了,最后验证不能链接到实例,怎么解决啊>?

使用道具 举报

回复
论坛徽章:
0
8#
发表于 2006-12-21 11:34 | 只看该作者
最初由 guguspace 发布
[B]检查客户端的配置如下:


验证远程服务器实例配置
db2 list node directory
db2 list node directory show detail
ping hostname来验证通讯
使用telnet hostname port来验证是否能连到实例
按照这个验证了,最后验证不能链接到实例,怎么解决啊>? [/B]


按照你看到的配置方式在服务器上编目一个,测测通不通

使用道具 举报

回复
论坛徽章:
0
9#
发表于 2006-12-28 21:51 | 只看该作者
收藏,慢慢消化!

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
10#
发表于 2006-12-29 17:48 | 只看该作者
其实DB2 Information Center上面挺详细的
http://publib.boulder.ibm.com/in ... doc/pd/c0020752.htm

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表