【发布时间】:2020-03-03 05:47:23
【问题描述】:
我有一个关闭的连接:
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的地方并关闭连接。 -
我用更详细的代码编辑了我的问题。请告诉我它是否有效?
-
你是在 Windows 机器上运行这个 Python 代码吗?
-
是的,我在窗口机器上使用 anaconda
-
@DatNguyen - 好的,当“数据专家”说您的连接仍在“持续一段时间”时,他是否说大约需要多长时间?在 Windows 机器上,Microsoft 的 SQL Server ODBC 驱动程序的默认配置启用连接池,但默认超时仅为 60 秒,因此我不希望看到“关闭”连接挂起的时间比这更长。 (您可以检查 ODBC 管理器的“连接池”选项卡,以查看您的计算机上实际的“池超时”。)
标签: python sql pandas dataframe pyodbc