Kac*_*ser 1 db2 stored-procedures pyodbc database-cursor
我有一个python程序从db2数据库调用存储过程.我results = cursor.fetchall()用来处理我的存储过程的结果.但是,我的存储过程返回两个游标.results只包含第一个.我需要一种方法来遍历尽可能多的游标.我希望fetchmany()这是我的答案,但事实并非如此.
我真的需要能够做多个结果集,因为我写的程序只能调用一个存储过程.要回去让它能够打两个电话需要很多.除了其中一件事,我需要让10个光标返回.一切都是动态的,因此应用程序不知道它正在运行什么程序,它只是获取数据并将其吐入excel而不知道其含义.我需要一个光标用于数据,而另一个光标用于不同类型的计数和总计.
请帮忙.让我知道如果你需要更多的信息,我不认为精心设计的代码是必要的,因为我正在寻找一个内置的功能来做到这一点,或者甚至可能是一个不同的库,因为我已经完成了我的谷歌搜索,它看起来像pyodbc不会为DB2做这件事.DB2是一个要求:(
使用光标的nextset()方法:http://code.google.com/p/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
Run Code Online (Sandbox Code Playgroud)
如果有其他结果集可用,则nextset()将返回True,后续的游标提取方法将返回下一组的行.如果没有其他可用集,则该方法返回None.