`
antti
  • 浏览: 65886 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

阅读更多
在客户端使用 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即服务器数据库的一个合法用户。

顺利编目。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics