PYODBC连接未关闭

时间:2019-03-19 19:03:16

标签: python-3.x multithreading oracle odbc pyodbc

我正在使用threading同时执行多个SQL查询。我首先将连接附加到名为connections的列表中,如下所示:

import pyodbc
connections = []
num_connnections = 100
for i in range(num_connections):
    connections.append(pyodbc.connect('connection_string'))

这有效,对多个查询进行线程化也是如此。但是,如果我多次运行此过程,则会收到错误

(''HY000','[HY000] [Oracle] [ODBC] [Ora] ORA-12519:TNS:找不到合适的服务处理程序 (12519)(SQLDriverConnect); [HY000] [Oracle] [ODBC] [Ora] ORA-12519:TNS:找不到合适的服务处理程序(12519)')

我相当确定这是因为ODBC连接的数量变得过多。当我尝试使用

关闭它们时
pyodbc.pooling = False
for i in connections:
    i.close()
    del i   
del connections

列表connections被删除。但是,它似乎没有关闭任何连接,因为下次我运行pyodbc.connect('connection_string')时,我立即收到相同的错误。关于这可能有什么想法吗?

0 个答案:

没有答案