我有以下代码,存储过程用于调用几个存储过程。我可以运行该存储过程,并且它将在 SQL 2012 中顺利完成。我使用的是 Python 3.3。
cnxn = pyodbc.connect('DRIVER={SQL Server};Server=.\SQLEXPRESS;Database=MyDatabase;Trusted_Connection=yes;')
cursor = cnxn.cursor()
cnxn.timeout = 0
cnxn.autocommit = True
cursor.execute("""exec my_SP""")
Python 代码正在执行,我通过插入大量打印内容确定了这一点。 我确实看到了有关 python 等待 SP 完成的另一个问题。我尝试在执行后添加“time.sleep()”,并改变时间(最多 120 秒)没有变化。 根据结果,存储过程似乎正在部分执行。数据表明它甚至中断了子存储过程之一,但当 SP 从查询分析器运行时却没有问题。
我最好的猜测是,这是与 SQL 配置相关的内容,但我不知道该往哪里看。
有什么想法吗?
最佳答案
将 SET NOCOUNT OFF 添加到我的过程对我有用。
关于python - PyODBC 执行存储过程未完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36830936/