SQL0805N 找不到程序包 "NULLID.SQLUFG13 0X4141414141594758"。 SQLSTATE=51002

## import from d:/tobacco.del of del insert into g_tobacco

(用load的方式可以正常导入数据)

在导入数据时,发生如下错误

SQL3015N  处理期间发生 SQL 错误 "-805"。

SQL0805N  找不到程序包 "NULLID.SQLUFG13 0X4141414141594758"。  SQLSTATE=51002

提示说package NULLID.SQLUFG13 找不到,其中NULLID为package schema,SQLUFG13为package名字。

在网上找了下解决办法尝试了下问题没有解决,留着后续继续研究

以下是在网上找的方法:

DB2 SQL Error: SQLCODE=-805, SQLSTATE=51002 解决方法

在操作大量数据时如果发生这种错误,说明不是db2 使用的 package没有绑定,而是因为资源未释放,导致可以使用此package的资源不足,致使不能连接资源,这种情况有两种解决方法.当出现这样的错误时,不要尝试使用 DB2STOP FORCE 命令来强制停掉数据库,建议大家使用 FORCE APPLICATION 命令停掉引起这个错误的应用程序或者停掉所有的应用程序。也不建议大家使用 KILL 命令来杀掉任何 DB2 相关的进程。

【方法一】治标不治本,重新绑定package,然后为package的使用分配更多的资源

1、db2 connect to sample user XXX using password 
2、db2 bind @db2ubind.lst blocking all 或者db2 bind @db2ubind.lst sqlerror continue grant public blocking all
3、db2 bind @db2cli.lst blocking all 或者db2 bind @db2cli.lst blocking all grant public sqlerror continue CLIPKG 5


说明:

1、XXX 为数据库用户名,password 为密码 

2、要在db2安装目录 /opt/ibm/db2/V11.1/bnd 下执行以上脚本

【方法二】标本兼治,在程序中,对PreparedStatement ,Statement,CallableStatement,ResultSet,Connection这些对象使用完毕后一定要调用close()方法进行资源的释放,若不进行释放,在操作大量数据的时候,会出现一些问题,DB2 SQL Error: SQLCODE=-805, SQLSTATE=51002 错误就是其中的一种.这种错误只要在代码中将使用完毕的PreparedStatement ,Statement,CallableStatement,ResultSet,Connection对象全部关闭即可[即调用close()方法即可],关闭顺序最好是:1>ResultSet   2>PreparedStatement ,Statement,CallableStatement 3>Connection

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值