避免DB2 / 400存储过程中的硬编码模式

问题描述 投票:1回答:1

我正在创建存储过程来替换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-procedures db2-400 jt400
1个回答
0
投票

你需要SET PATH = "MYLIB"

当我使用SQuirreL来调用存储过程时,我需要使用SET PATH语句来查找存储过程。我不知道这是因为我的库列表是坏的还是什么,但当前的架构不用于查找不合格的存储过程。

© www.soinside.com 2019 - 2024. All rights reserved.