![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20210227_1c1ff18e-78a2-11eb-a5e4-38f9d3cd240d.png)
![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20210227_1c1ff18e-78a2-11eb-a5e4-38f9d3cd240d.png)
快下班的的时候突然应用找到我们说他们通过import工具进行入数据的时候报错,然后这批数据很紧急,需要我们抓紧时间解决。
问报什么错,应用侧发过来一个错误代码
SQL0805N Package "NULLID.SQLUFH13 0X4141414141594758" was not found. SQLSTATE=51002 |
从上述错误消息中,缺少的软件包是NULLID.SQLUFH13,它对应于db2uimpm.bnd。
这个库是新装的,应该没有绑定这个程序包,就查下这个包在数据库里是不是存在
db2 "SELECT PKGSCHEMA, PKGNAME, PKGVERSION,UNIQUE_ID FROM SYSCAT.PACKAGES WHERE PKGSCHEMA= 'NULLID' and PKGNAME='SQLUFH13'" |
要解决此问题,需要通过绑定标识的绑定文件来创建丢失的程序包。
执行一下命令进行绑定
cd~/sqllib/bnd db2connect to test db2bind db2uimpm.bnd blocking all grant public sqlerror continue |
绑定完成没有报错,那就在检查一下这个包是都存在
发现还是不存在,就有点疑惑了,就想应用侧既然不能用import工具入数据,我建个测试表看看能不能入呢
过程如下:
1、新建一张表
db2"create table t3 (col1 char(10), col2 int ) in ts4" |
2、创建几行数据
[db2inst1@db11~]$ cat t4.del "aaaa",1 "bbbb",2 "cccc",3 |
3、import入数据
db2"import from t4.del of del insert into t4" |
4、查看数据
db2"select * from t4" |
一遍流程,如行云流水般顺畅,没有报错啊这就奇怪了,让应用侧在重新import下在试试,发现还是报错。
到应用主机看了下,发现应用的客户端是DB2的V9.7版本,而我们的服务器版本是V11.1的版本,难道是因为版本不一致的问题,造成的这个报错,到这时突然想到因为版本不一致难道需要在客户端执行绑定命令,来把这个程序包绑定到服务器端,就在客户端执行下绑定命令
绑定完成后在服务端在检查下
发现有这个程序包了,让应用侧测试了下,反馈可以正常import数据了
当然也可以在客户端执行这个命令
会把客户端用到的所有的程序包都绑定一下,可以根据需求单独绑定,如果不知道绑定哪一个程序包,就可以使用这个命令.
![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20210227_1cddb73c-78a2-11eb-a5e4-38f9d3cd240d.png)