Ibm midrange DB2iSeries-无法从存储的进程访问表
我正在使用JDBC驱动程序访问DB2iSeries版本6.3。调用存储过程失败,出现以下错误:Ibm midrange DB2iSeries-无法从存储的进程访问表,ibm-midrange,db2-400,Ibm Midrange,Db2 400,我正在使用JDBC驱动程序访问DB2iSeries版本6.3。调用存储过程失败,出现以下错误: [SQL0204] GENHST in TSTUSR type *FILE not found. 连接字符串为: jdbc:as400://db2.abc.com/DBName;naming=system;libraries=*LIBL;block size=512;lob threshold=0;package library=QGPL;prompt=false;translate binary=
[SQL0204] GENHST in TSTUSR type *FILE not found.
连接字符串为:
jdbc:as400://db2.abc.com/DBName;naming=system;libraries=*LIBL;block size=512;lob threshold=0;package library=QGPL;prompt=false;translate binary=true;remarks=system;cursor hold=false;
当我使用与JDBC连接相同的用户和连接字符串使用Squirrel客户端进行连接时,我能够查看GENHST表中的数据。存储的进程引用GENHST表,但未指定架构名称
有什么想法请帮忙。出了什么问题
编辑:
如果我从连接字符串中删除数据库名称并将包含存储过程的架构添加到连接字符串中,则该问题已得到修复
jdbc:as400://db2.abc.com/;naming=system;libraries=*LIBL,PROC_SHEMA;block size=512;lob threshold=0;package library=QGPL;prompt=false;translate binary=true;remarks=system;cursor hold=false;
我真的不明白发生了什么。第4行对此进行了描述。在URL上指定的默认SQL架构和指定的“库”属性
默认SQL架构是在URL中指定的。未搜索库列表以解析SQL语句中的非限定名称
我的疑问是-如果我能够从Squirrel sql client查询表,为什么存储过程无法找到它。@pawindergupta SP无法找到它,因为搜索表的位置(默认架构或库列表)的方式定义为过程的创建时间,而不是运行时