Python 调用 'ibm_db.exec_imediate' 给出消息 'Function (%s) returns too few values'
Python call to 'ibm_db.exec_imediate' gives message 'Function (%s) returns too few values'
我正在使用 ibm_db 调用存储过程,如下所示:
SQL = "EXECUTE PROCEDURE db_x:example_procedure(8, 1234567)"
stmt = ibm_db.exec_immediate(conn, sql)
但是第 exec_imediate 行给出了错误:交易无法完成:[IBM][CLI 驱动程序][IDS/UNIX64] 函数 (% s) returns 值太少。 SQLCODE=-685
在 IBM 站点中,我们有以下内容:
685 Function <function-name> returns too few values.
The number of returned values from a function is less than the number
of values that the caller expects.
我不知道错误发生在哪里,为什么?我该如何调试并解决它?
Ps.: 我无权访问程序代码。
谢谢。
ibm_db使用DRDA协议,它不是Informix数据库的最佳选择。您可以尝试使用 Informix 本机 python 驱动程序,即 IfxPy.
这里是 Informix 原生 python 驱动主页
https://openinformix.github.io/IfxPy/
我正在使用 ibm_db 调用存储过程,如下所示:
SQL = "EXECUTE PROCEDURE db_x:example_procedure(8, 1234567)"
stmt = ibm_db.exec_immediate(conn, sql)
但是第 exec_imediate 行给出了错误:交易无法完成:[IBM][CLI 驱动程序][IDS/UNIX64] 函数 (% s) returns 值太少。 SQLCODE=-685
在 IBM 站点中,我们有以下内容:
685 Function <function-name> returns too few values.
The number of returned values from a function is less than the number
of values that the caller expects.
我不知道错误发生在哪里,为什么?我该如何调试并解决它?
Ps.: 我无权访问程序代码。
谢谢。
ibm_db使用DRDA协议,它不是Informix数据库的最佳选择。您可以尝试使用 Informix 本机 python 驱动程序,即 IfxPy.
这里是 Informix 原生 python 驱动主页
https://openinformix.github.io/IfxPy/