我的问题与stackoverflow/9915788密切相关。如何获取SQL Server存储过程返回的行集使用pyodbc?
我正在使用pyodbc上传数据到外部SQL数据库,为此我使用该数据库的存储过程。此过程返回两件事情:
- 行集(单行其中包含文本“成功”如果程序能正常工作或文本“失败”,后跟任何可用的理由,如果它失败)
- 整数值(0为成功,-1为失败)
我设法读出整数值使用上面的链接中描述的方法,但我想读出行集,以及因为我想在出现任何错误的情况下获得更多信息。
任何想法如何做到这一点?我不是SQL专家,但在我的理解中,行集应该是“光标像”对象,因为它应该可以循环该行;但是我怎么在选择语句中得到这个呢?
这是我得到的整数值:
def CallStoredProc(conn, procName, *args):
sql = """SET NOCOUNT ON;
DECLARE @ret int
EXEC @ret = %s %s
SELECT @ret""" % (procName, ','.join(['?'] * len(args)))
return conn.execute(sql, args).fetchall()
但我不知道如何让行,这也应该是可以拿到..
你能告诉我们你试过的吗 –
我加了一个整数值读出的代码示例。对于行读出我没有具体的想法,并绝望地希望你能给我任何提示... – joaquinn