【发布时间】:2018-01-29 17:48:07
【问题描述】:
我正在尝试使用pyodbc 运行一些存储过程并使用以下代码获取单个返回值:
conn = pyodbc.connect("driver={SQL Server};server=MyServer;database=MyDB;trusted_connection=true")
cursor = conn.cursor()
SQL_command = """
DECLARE @ret INT
EXEC @ret = [dbo].proc_mySP
@group= 0
, @description =?
SELECT @ret
"""
cursor.execute(SQL_command, description)
retValue = cursor.fetchall()
存储过程的框架如下:
-- SOME CODE
-- ......
-- EXEC another_sp
-- DECLARE @RET INT
-- SELECT @RET as retValue
-- ......
上面的 sql 在 sql server 中运行良好,但是,当它被上面的 Python 代码调用时,它给出了错误消息:
pyodbc.ProgrammingError: ('24000', '[24000] [Microsoft][ODBC SQL 服务器驱动]游标状态无效 (0) (SQLNumResultCols)')
我可以知道我的代码有什么问题吗?
非常感谢。
【问题讨论】:
标签: python sql return-value pyodbc