我的問題與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