Соединение PYODBC не закрывается - PullRequest
1 голос
/ 19 марта 2019

Я использую 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') я сразу получаю ту же ошибку. Любые идеи о том, что это может быть?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...