Having trouble calling a stored procedure in SQL Server from Python pyodbc(在从Python pyodbc调用SQL Server中的存储过程时遇到问题)
本文介绍了在从Python pyodbc调用SQL Server中的存储过程时遇到问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是一个常见的问题,如果是这样的话,我已经从其他问题中获得了一些好的线索,但我仍然没有成功。
我在SQL Server中有一个复杂的存储过程,它执行一系列操作来填充表。它不接受任何参数,也不返回任何字段。在我调用SP之后,我查询表--我需要成批处理大量数据,这很好用。从Python调用SP是最困难的部分。
def executeSP():
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=' +
server+';DATABASE='+database+';UID='+username+';PWD=' + password)
cnxn.autocommit = True
cursor = cnxn.cursor()
cursor.execute("SET NOCOUNT ON; exec [schema].[SPName]")
cursor.close()
del cursor
cnxn.close()
我将NOCOUNT设置为ON,这样,在返回之前,python将等待SP完成。但当我运行此命令时,系统不会调用SP。相同的连接参数可用于查询相同模式中的表。不会产生任何错误。
我没有主意了。
推荐答案
将NOCOUNT设置为ON并不总是足够。可以肯定的是,循环直到pyodbc认为没有更多的结果集,或者您可以在执行完成之前取消执行。例如
cursor.execute(sql)
while cursor.nextset():
pass
cursor.close()
这篇关于在从Python pyodbc调用SQL Server中的存储过程时遇到问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:在从Python pyodbc调用SQL Server中的存储过程时遇到问题


猜你喜欢
- 如何使用 pip 安装 Python MySQLdb 模块? 2021-01-01
- 在SQL中,如何为每个组选择前2行 2021-01-01
- 导入具有可变标题的 Excel 文件 2021-01-01
- 如何将 SonarQube 6.7 从 MySQL 迁移到 postgresql 2022-01-01
- 使用 Oracle PL/SQL developer 生成测试数据 2021-01-01
- 更改自动增量起始编号? 2021-01-01
- 如何将 Byte[] 插入 SQL Server VARBINARY 列 2021-01-01
- SQL 临时表问题 2022-01-01
- 以一个值为轴心,但将一行上的数据按另一行分组? 2022-01-01
- 远程 mySQL 连接抛出“无法使用旧的不安全身份验证连接到 MySQL 4.1+"来自 XAMPP 的错误 2022-01-01