gpt4 book ai didi

stored-procedures - pyodbc 从使用 DB2 的存储过程返回多个游标

转载 作者:行者123 更新时间:2023-12-04 09:00:30 24 4
gpt4 key购买 nike

我有一个从 db2 数据库调用存储过程的 python 程序。我正在使用 results = cursor.fetchall()处理我的存储过程的结果。但是,我的存储过程返回两个游标。 results只包含第一个。我需要一种方法来循环遍历任意数量的游标。我希望fetchmany()将是我的答案,但事实并非如此。

我需要能够处理多个结果集,因为我正在编写的程序只能调用一个存储过程。返回并使其能够调用两个需要很多。除了这些东西之一,我需要让 10 个游标返回。一切都是动态的,因此应用程序不知道它正在运行什么程序,它只是获取数据并将其吐入excel而不知道其含义。我需要一个用于数据的游标,另一个用于不同类型的计数和总计的游标。

我正在寻找一个内置函数来做到这一点,或者甚至是一个不同的库,因为我已经完成了我的谷歌搜索,看起来 pyodbc 没有为 DB2 这样做。 DB2 是一个需求。

最佳答案

使用 nextset()光标方法:https://github.com/mkleehammer/pyodbc/wiki/Cursor#nextset

示例代码:

# fetch rows from first set
rows = cursor.fetchall()
# process first set rows here

# advance to next result set
while (cursor.nextset()):
# fetch rows from next set, discarding first
rows = cursor.fetchall()
# process next set rows here
nextset()将返回 True如果额外的结果集可用,并且后续的游标提取方法将从下一个集中返回行。该方法返回 None如果没有额外的套装可用。

关于stored-procedures - pyodbc 从使用 DB2 的存储过程返回多个游标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7263781/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com