首页  韩国资源  酷站加油  我的展厅  设计名站  古典元素  推荐下载  设计欣赏  每周专访  招募精英  人才专区  网页教程  平面设计  编程开发  设计竞赛
当前位置:首页 > 编程开发 > 数据库编程 > 正文
Google
解析DB2 SQL0805N 找不到程序包错误
来源:天极网 作者:大熊 2007年11月20日 10:13 网友评论:0条 点击:

  今天所做的程序最后封版,封版前觉得程序有一个地方让我很不爽,于是就进行了一下修改,改动其实很小,只是在if里面增加了一个判断条件,结果程序运行的时候开始报db2数据库系统错误,错误内容如下:

  [DB2/NT] SQL0805N 找不到程序包 "NULLID.SYSLH203 0X5359534C564C3031"。 SQLSTATE=51002

  到网上查找错误的原因,结果关于这方面的内容少之又少,Google中只找到两个网页,里面倒是提供了解决方案,不过原因不是很详细。继续搜索,最后在IBM官方网站上找到一个还算清楚的解释:

  Solution

  Depending on the type of statement you are executing, DB2 will use a particular package on the server. By default, DB2 creates three packages for each type of package. In this case NULLID.SYSLH2yy is reserved for statements with CURSORHOLD on and isolation level Cursor Stability. The package SYSLH203 means that DB2 is looking for the 4th package (200 is first, 201 is second, etc) of this type, but it does not exist. You can create more packages on the server by connecting to the database and issuing the following bind command from the /sqllib/bnd directory:

  db2 bind @db2cli.lst blocking all grant public sqlerror continue CLIPKG 5

  Note: CLIPKG 5 will create 5 large packages, and will give you the package that your application is looking for, as well as one more in this case.

  源文档

  大致的意思是说DB2在执行SQL语句的时候会使用内部定义的包(package)来保持不同级别的游标的稳定性,包的名字就是“NULLID.SYSLH2XX”。DB2里面默认的时候会创建3个这样的包即SYSLH200, SYSLH201, SYSLH202,而当你的程序报“找不到程序包”的错误,并且程序包的名字的序号大于SYSLH202,也就说明DB2默认的包不够用了,DB2要求使用更多的包,但是这些包在DB2中并没有创建,因此DB2抛出了异常。

  要解决这个错误有两种方法:一是执行上面的英文段中的粗体部分的命令,把DB2的包的个数扩大到5个,这样DB2就可以找到它需要的包;二是调整你的程序,优化结构,使得DB2不会用到多于3个的包,当然,这将会使你经历一个非常艰难的调试时刻。

  至于我吗,由于是在封版时刻,自然选择最简单的处理方式——把错误的地方再改回来,虽然有点取巧,但是至少不会产生对数据库修改的需求。

上一篇:把SQL数据库部署到远程主机环境   下一篇:介绍SQL Server数据库管理常用的SQL和T-SQL语句
收藏此页】【打印】【关闭
 相关文章  我要点评
·百度之星程序设计大赛落幕
·奇虎开招杀毒程序员 传将推出免费杀毒软件
·利用Jsvc把Java程序嵌入到Linux服务中去
·正确理解PHP程序错误信息的表示含义
·IIS下无法运行ASP程序的解决
·解决DB2中出现的SQL1032N错误现象
·IBM DB2数据库的注意事项
·DB2数据库创建存储过程时遇到的错误现象

免责声明:本站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。对本文有任何异议,请联络:68design#163.com
转载要求:作者及来源信息必需保留。转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印。



关于我们 | 在线反馈 | 广告报价 | 友情链接 | 联系我们 | 免责声明 | 在线投稿 | 网站地图
Copyright © 2003-2007 68design.net, All Rights Reserve 【找网页设计师,当然上网页设计师联盟】