代码之家  ›  专栏  ›  技术社区  ›  paolov

SQL服务器已挂起SELECT查询会话

  •  0
  • paolov  · 技术社区  · 4 年前

    我正在使用以下代码将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。

    0 回复  |  直到 4 年前
    推荐文章