对“ ibm_db.exec_imediate”的Python调用给出了消息“函数(%s)返回的值太少”

时间:2019-01-24 16:11:43

标签: python sql db2 informix

我正在用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)返回的值太少。 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 .:我无法访问过程代码。

谢谢。

1 个答案:

答案 0 :(得分:1)

ibm_db 使用 DRDA 协议,它不是Informix数据库的最佳选择。您可以使用Informix本机python驱动程序( IfxPy )进行尝试。

这是Informix本机python驱动程序主页
https://openinformix.github.io/IfxPy/