db2报错:SQLSTATE=38553

今天,楼主在用DbVisualizer连接远程数据库的时候,ping通了,但是连上之后报错:

SQL0443N Routine “SYSIBM.SQLTABLES” (specific name “TABLES”) has returned an
error SQLSTATE with diagnostic text “SYSIBM:CLI:-805”. SQLSTATE=38553

所有的表都不显示了。上网找解决方案找了很长时间,终于找到了解决方案。我的db2是安装在linux上的,因此切换成你的实例用户(我的是db2inst1),敲命令:

db2 terminate

db2 CONNECT TO <dbname>

db2 BIND <path>/bnd/db2schema.bnd BLOCKING ALL GRANT PUBLIC sqlerror continue

db2 terminate

其中,dbname为你连接的数据库名称,path是你安装的db2的地址,linux下默认应该是/opt/ibm/db2/<版本号>。执行完第三句可能会报错,我当时也遇到了,继续执行第4句,执行完后,DbVisualizer就可以正常显示表了。

解决方案就是以上那么多,其中的原因我给大家贴出来,因为博主自己也不知道为什么,希望大家看了之后有懂的人,能在下方评论,博主将不甚感激。

DB2 SQLCODE: -443, SQLSTATE: 38553这篇文章的作者是这么写的:

其中DB2的版本为V8.2,用QuestCentral和DB2CA访问均正常,DS验证用户密码也正确,就是无法创建DS的用户表。
经分析,我们认为是DB2 V8的版本问题,即IBM 最近发布的DB2 FixPack 10(也称作 DB2 Version 8.2.3,也就是带 FixPack 3 的 DB2 Version 8.2 —— 如何称呼取决于获得产品的途径)出现的问题。

另一篇IBM上的相关文章SQL0443N with diagnostic text “SYSIBM:CLI:-805”. SQLSTATE=38553 when calling stored procedure SYSIBM.SQLXXXXXXX(),作者写的原因是:

Cause
A -805 error is defined as:
SQL0805N Package “” was not found.
A package for catalog function support must be created in the database prior to the execution of the stored procedures. The following procedure names seen in the SQL0443N error require the prerequisite package:
SYSIBM.SQLATTRIBUTES
SYSIBM.SQLCOLPRIVILEGES
SYSIBM.SQLCOLUMNS
SYSIBM.SQLFOREIGNKEYS
SYSIBM.SQLFUNCTIONCOLS
SYSIBM.SQLFUNCTIONS
SYSIBM.SQLGETTYPEINFO
SYSIBM.SQLPRIMARYKEYS
SYSIBM.SQLPROCEDURECOLS
SYSIBM.SQLPROCEDURES
SYSIBM.SQLSPECIALCOLUMNS
SYSIBM.SQLSUPERTABLES
SYSIBM.SQLSUPERTYPES
SYSIBM.SQLSTATISTICS
SYSIBM.SQLTABLEPRIVILEGES
SYSIBM.SQLTABLES
SYSIBM.SQLUDTS

猜你喜欢

转载自blog.csdn.net/death05/article/details/79119070