代码改变世界

DB2 Package Issues and Solution

2017-11-21 15:50  Ivan的一亩三分地  阅读(1112)  评论(0编辑  收藏  举报

 Client 从 10.1 升级到11.1之后,而server端的DB 是10.1 版本,当客户执行sql语句时候报错:

select * from ebcc.eol_item_info where EOL_SUPP_NO='E0085960901
SQL0805N  Package "NULLID.SQLC2O26 0X4141414141664164" was not found.  
SQLSTATE=51002 

 

初步分析:包不存在,应该是与数据库大版本升级导致。

解决方法:

1. 通过以下网址查看对应的包所属的bnd文件

2. 解决方法有两种

    2.1  从客户端连接到数据库,执行bind 操作

    2.2  将需要的bnd包上传到server端,然后做bind操作

 

 db2 "select char(authid, 10) as authid,
authidtype,
PRIVILEGE,
char(OBJECTNAME,30) as objectname
from sysibmadm.privileges
where  objectname='SYSLH205' "

 

db2 grant execute on package nullid.SQLC2O26 to public
db2 connect to <database> user <username> using <password>
db2 bind bindfile.bnd blocking all sqlerror continue grant public
db2 bind @db2cli.lst blocking all grant public sqlerror continue CLIPKG 5

 

Reference:

DB2  Bind File and Package Name List