PYODB C не закрывает соединение с базой данных доступа - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь загрузить данные из базы данных Access, используя PYODB C. Код, который я написал, выглядит так:

#Connection Parameters
MDB = 'C:/Users/xxxx/Documents/EugeneVideo.mdb'
DRV = '{Microsoft Access Driver (*.mdb, *.accdb)}'
PWD = 'PW'
pyodbc.pooling = False
con = pyodbc.connect('DRIVER={};DBQ={};PWD={}'.format(DRV,MDB,PWD))
SQL = """SELECT * FROM Customers WHERE c_state = 'CA' """
df = pd.read_sql_query(SQL, con)
csr = con.cursor()
csr.close()
con.close()

В первый раз он работает хорошо. Данные хранятся в кадре данных. Но если я попытаюсь снова запустить скрипт, меняющий, например, параметр фильтра, python вылетает. Я заметил, что файл LDB не удаляется после первого запуска, поэтому, по-видимому, соединение не закрывается, даже я явно просил об этом. Где ошибка? Есть ли лучший способ убедиться, что соединение будет закрыто? Я уже пробовал методы класса, с похожими результатами.

Cheers

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