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

Python调用“ibm_db.exec_imediate”给出消息“函数(%s)返回的值太少”,python,sql,db2,informix,Python,Sql,Db2,Informix,我使用ibm_db调用一个存储过程,如下所示: SQL = "EXECUTE PROCEDURE db_x:example_procedure(8, 1234567)" stmt = ibm_db.exec_immediate(conn, sql) 但是line exec_imediate给出了错误:事务无法完成:[IBM][CLI Driver][IDS/UNIX64]函数%s返回的值太少。SQLCODE=-685 在IBM站点中,我们有以下内容: 685 Function <func

我使用ibm_db调用一个存储过程,如下所示:

SQL = "EXECUTE PROCEDURE db_x:example_procedure(8, 1234567)"
stmt = ibm_db.exec_immediate(conn, sql)
但是line exec_imediate给出了错误:事务无法完成:[IBM][CLI Driver][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.
我不知道错误到底发生在哪里,为什么?如何调试并解决此问题

注:我没有访问程序代码的权限

谢谢。

ibm_db使用DRDA协议,它不是Informix数据库的最佳选择。您可以在Informix本机python驱动程序中尝试同样的方法,即IfxPy

以下是Informix本机python驱动程序主页

好的,萨蒂安,我试试……谢谢