DB2 联邦(FEDERATION): 创建nickname报错时SQL30080N A communication error “-5“ occurred ​

博客详细描述了在DB2联邦操作中遇到的SQL30080N通信错误,该错误发生在创建nickname时。问题源于在创建user mapping时使用的用户与remote_authid不匹配。解决方案是确保执行SQL语句的用户与remote_authid指定的远程数据库用户一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

DB2 联邦(FEDERATION): 创建nickname报错时SQL30080N  A communication error "-5" occurred ​,复现过程如下,密码使用***代替:


复现:

使用db2实例用户执行以下SQL

catalog tcpip node node01 remote xxx.xxx.xxx.xxx server yyyyy;
terminate;
catalog db test as testrm at node node01;
terminate;
 
CONNECT TO SAMPLE;

CREATE WRAPPER DRDA;

CREATE SERVER MYSERVER
   TYPE DB2/UDB
   VERSION '10.5'
   WRAPPER DRDA
   AUTHORIZATION "user01"
   PASSWORD "********"
   OPTIONS
     (DB2_CONCAT_NULL_NULL  'Y'
     ,DB2_TWO_PHASE_COMMIT  'Y'
     ,DB2_VARCHAR_BLANKPADDED_COMPARISON  'Y'
     ,DBNAME  'TESTRM'
     ,NO_EMPTY_STRING  'N'
     );

CREATE USER MAPPING FOR "user01"
   SERVER "MYSERVER"
   OPTIONS
     (REMOTE_AUTHID  'user01'
     ,REMOTE_PASSWORD  '********'
     );

CREATE NICKNAME "MYSC    "."TABLE1"
   FOR "MYSERVER"."MYSC"."TABLE1";

terminate ;

------

其中创建NICKNAME的时候报错

SQL30080N  A communication error "-5" occurred sending or receiving data from
the remote database.  SQLSTATE=08001



原因:

(注意SQL中的create user mapping for user01, 这一行的user01是指当前数据库的用户。 REMOTE_AUTHID 这一行的中user01是远程数据库的用户,这两个用户可以不同)

create user mapping for 哪个用户,这个语句就用哪个用户执行,所以上面的SQL使用user01用户执行就不会报错。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值