我正在使用以下代码将pyodbc连接到SQL server:
import pyodbc
conn = pyodbc.connect(f'Driver=SQL Server Native Client 11.0;Server={server};Database={db};Trusted_Connection=yes;')
conn.autocommit = True
cursor = conn.cursor()
如果我执行SQL SELECT,我知道只有一个结果,如下所示:
cursor.execute('select count(*) c from mytable')
row = cursor.fetchone()
这会导致SQL服务器连接处于“SUSPENDED”状态,就好像事务没有关闭一样,并且读取锁似乎仍保留在相关表上。
如果我打算稍后重用相同的游标和连接来执行其他请求,那么确保事务在连接上关闭的最佳方法是什么?
我应该关闭光标然后重新打开吗?
我在SQL Server 2016/2019上使用Python 3。