首页 > 解决方案 > 在 DB2/400 存储过程中避免硬编码模式

问题描述

我正在创建存储过程来替换 IBM i 的旧版应用程序。我正在从 Java Web App 调用存储过程。我正在使用 jt400 JDBC 驱动程序

我的 JDBC URL 是jdbc:as400://myhost/;libraries=*LIBL,MYLIB;prompt=false

存储过程可以调用存储过程

如果不进行进一步的存储过程调用,则初始存储过程调用正常完成

如果存储过程调用其他存储过程,则失败并显示

com.ibm.as400.access.AS400JDBCSQLSyntaxErrorException: [SQL0204] MY_SP in MYLIB type *N not found.

如果我在存储过程调用语句中对模式进行硬编码,调用将正常完成。

我想让被调用的存储过程使用与调用者相同的模式

标签: stored-proceduresdb2-400jt400

解决方案


我实际上遇到了同样的问题,存储过程使用您的职位描述库列表。您需要编辑您可以使用TAATOOL CHGLBLJOBD的 . 我现在不在 iSeries 面前,但我相信命令是EDTJOBDLIBor EDTJOBDLIBL WRKJOBDLIBL。这是其中的一些变化。


推荐阅读