调用DB2存储过程时pandas.read_sql_query报ibm_db_dbi编程错误
使用pandas.read_sql_query调用IBM DB2存储过程报错:无结果集返回
尝试用pandas.read_sql_query调用IBM DB2的存储过程,并将结果读取到DataFrame中时,遇到如下错误:
ibm_db_dbi::ProgrammingError: The last call to execute did not produce any result set.
该存储过程在IBM Data Studio中可正常返回约1000条记录,且脚本中用read_sql_query执行select * from table语句也能成功,说明数据库配置和存储过程本身无问题,问题出在二者结合调用上。
代码如下:
import ibm_db import ibm_db_dbi import pandas as pd cnxn = ibm_db.connect('DATABASE=mydb;' 'HOSTNAME=myHost;' 'PORT=446;' 'PROTOCOL=TCPIP;' 'UID=myUser;' 'PWD=myPassword;', '', '') conn=ibm_db_dbi.Connection(cnxn) sql = 'call myschema.getaccountnonrecurringpaging(20230509,0);' df = pd.read_sql_query(sql, conn)
环境信息:
- python=3.10.4
- pandas=1.5.3
- ibm_db=3.1.1
- 操作系统=Ubuntu 20.04
- DB2: v7r4
内容的提问来源于stack exchange,提问作者neanderslob
相关产品推荐
相关产品推荐

