我正在使用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')
时,我立即收到相同的错误。关于这可能有什么想法吗?