DB2 编目远程数据库 出现 SQL30081N 通信错误,解决办法

在客户端使用 DB2 控制中心(db2cc) 直接去编目远程数据库,出现以下错误消息:SQL30081N  检测到通信错误。正在使用的通信协议:"TCP/IP"。正在使用的通信API:"SOCKETS"。检测到错误的位置:"192.168.2.212"。检测到错误的通信函数:"connect"。协议特定的错误代码:"10061"...显示全部
在客户端使用 DB2 控制中心(db2cc) 直接去编目远程数据库,出现以下错误消息:
SQL30081N  检测到通信错误。正在使用的通信协议:"TCP/IP"。正在使用的通信API:
"SOCKETS"。检测到错误的位置:"192.168.2.212"。检测到错误的通信函数:"connect"。协
议特定的错误代码:"10061"、"*"、"*"。  SQLSTATE=08001

通过“显示命令”,发现控制中心的命令为:
CATALOG ADMIN TCPIP NODE N_TEST REMOTE 103.21.30.100 SYSTEM  103.21.30.100 OSTYPE  WIN;
解决问题:
首先google,网上有提到的几种可能性,一一检查。
1. 首先确认服务器是否能链接,使用ping命令,服务器能正常通信。
2. 确认数据库实例是否正在运行。 在客户端用jdbc连接,可以连接上数据库。
3. 确认 DB2COMM 是否设置, 远程到服务器上,运行命令 db2set –all
查看DB2COMM这一项,DB2COMM=TCPIP,说明这一项设置正确;
以上经过检查都正确,说明不是这些问题。

然后看到一个查看数据库配置的命令,就试试看,看看是否配置有啥问题。
命令:db2 get dbm cfg

注意到其中有以下一条信息:
没有权限就允许编目                  (CATALOG_NOAUTH) = NO

说明客户端要想编目,必须拥有权限(我理解为经过合法用户验证)。于是在db2cmd下运行以下命令:
CATALOG TCPIP NODE N_TEST REMOTE 103.21.30.100 SERVER 50000 REMOTE_INSTANCE  db2inst1 SYSTEM  103.21.30.100 OSTYPE  WIN;
注意:就加了REMOTE_INSTANCE  db2inst1这一段,db2inst1即服务器数据库的一个合法用户。

顺利编目。收起
参与10

查看其它 8 个回答yanggang_home的回答

yanggang_homeyanggang_home软件工程师lovo
谢谢了,学习了。
教育/培训 · 2011-09-08
浏览1086

回答者

yanggang_home
软件工程师lovo
擅长领域: 数据库

yanggang_home 最近回答过的问题

回答状态

  • 发布时间:2011-09-08
  • 关注会员:1 人
  • 回答浏览:1086
  • X社区推广