gpt4 book ai didi

python - 即使连接已关闭,Pandas read_sql_query 仍在后台运行?

转载 作者:行者123 更新时间:2023-12-04 11:02:10 28 4
gpt4 key购买 nike

我有一个封闭的连接:

Config = dict(server = serverSample,
port = 1433,
username = username_input,
password = password_input)
conn_str = (‘Server ={server}, {port}; + ‘TRUSTED_CONNECTION=yes’)
conn = pyodbc.connect(
r’Driver={ODBC Driver 13 for SQL Server};’ + conn_str.format(**config)
)
Do = pd.read_sql_query(query, conn)
conn.close()

在我使用 read_sql_query 之后方法我把数据放入 DataFrame .

出于某种原因,数据人员通知我我的连接仍在进行一段时间。

是否 close方法实际上停止运行SQL,或者我必须做其他事情来停止查询在服务器中运行?

我正在使用 pyodbc .

最佳答案

这取决于你通过什么作为 conn反对 read_sql_query方法调用。

  • 如果您通过 Connection对象它应该足够了,但问题可能出在关闭连接的地方。也许此代码无法访问。
  • 如果您通过 Engine目的。您应该处理连接:

  • conn.dispose()
  • 您也可以尝试关闭池。 Details are in the thread :

  • import pyodbc


    pyodbc.pooling = False
  • 另一种选择是将连接用作 context_managercommit并且不关闭连接。 This approach is preferred by pyodbc :

  • import pyodbc


    conn = pyodbc.connect(config)
    with conn:
    crs = conn.cursor()
    do_stuff
    # conn.commit() will automatically be called when Python leaves the outer `with` statement
    # Neither crs.close() nor conn.close() will be called upon leaving the the `with` statement!!

    关于python - 即使连接已关闭,Pandas read_sql_query 仍在后台运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58735301/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com