Чтение MS Access с Python 3.7 - PullRequest
       38

Чтение MS Access с Python 3.7

0 голосов
/ 13 декабря 2018

Я прочитал сто страниц в Интернете о том, как подключиться к устаревшим базам данных MS Access к Python, но все, кажется, устарело.Я использую Python 3.7 64-битный, с SQLAlchemy и PyODBC, но SQLAlchemy больше не поддерживает MS Access, и я не могу заставить работать какой-либо код.Кто-нибудь получил современную версию Python для подключения к Access в последнее время?Вот мой код, который не работает.

import pyodbc
connStr = (
    r"DRIVER={Microsoft Access Driver (*.accdb)}; DBQ=E:\db\Records.accdb; Uid=Admin; Pwd=;"
    )
conn = pyodbc.connect(connStr)
cursor = conn.cursor()
cursor.execute('select * from Students')
for row in cursor.fetchall():
    print(row)

Ошибка:

Traceback (последний вызов был последним): Файл "G: /Projects/AccessTest/accessdb.py", строка7, в conn = pyodbc.connect (connStr) pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft] [ODBC Driver Manager] Не найдено имя источника данных и не указан драйвер по умолчанию (0) (SQLDriverConnect)')

1 Ответ

0 голосов
/ 24 января 2019

Добавлены оба 32-битных драйвера от MS, и сделан ярлык для (поскольку существующий просто подходит к 64 или 32, независимо от того, какая у вас ОС).Затем я смог настроить источник ODBC, к которому PyODBC подключился нормально.В соответствующей заметке у меня была такая же проблема с XAMPP на 64-битной Windows Server, и установка дополнительного драйвера MS также исправила это.

Здесь 32-разрядный драйвер устанавливается с помощью установщика MS.Не первое место, которое выглядело бы очевидно.

C:\Windows\SysWOW64\odbcad32.exe
...