currentFunctionPath属性不适用于我的Java存储过程



我正在调用存储过程,该过程是在DB2 for Z/OS中从Java创建的。

我想在不使用模式名称的情况下调用存储过程。

通过设置currentSchema数据源属性,我不会将模式名称用于所有其他SQL。

我知道,对于存储过程,我必须设置currentFunctionPath属性。但这是行不通的。我得到以下异常:

Caused by: com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-805, SQLSTATE=51002, SQLERRMC=DB2T.MYSCHEMA.SYSSTAT.5359534C564C3031;DISTSERV;04, DRIVER=4.24.92

我使用的Db2驱动程序:compile(group: 'com.ibm.db2.jcc', name: 'db2jcc4', version: '4.24.92')DB2版本:12

有人知道这是一个已知的问题还是我错过了什么?

请注意特殊寄存器(如当前函数路径(和jdbc连接/会话属性之间的区别。

在连接字符串中,可以使用特定语法指定特殊寄存器及其值。

特殊寄存器是";CURRENT_PATH";并且在这里定义语法。

连接字符串示例:

;specialRegisters=CURRENT_PATH=CURRENT CLIENT_USERID=x,SYSIBM;

其中,x是包含存储过程的架构。

您可以根据需要设置特殊寄存器的值,使用所有例程调用仔细测试它,尤其是在您有多模式设置的情况下。

您也可以在连接到数据库后设置特殊寄存器,只要您保留语法,尽管在这种情况下,它限制您每次为每个特殊寄存器设置一个值,除非您使用DB2DataSource.setSpecialRegisters接口。有关详细信息,请参阅上面的链接。

相关内容

  • 没有找到相关文章

最新更新