2016-05-01 2 views
0

Я пытаюсь подключиться к базе данных MS Access (файл .accdb) через python.Pyodbc - указанный DSN содержит несоответствие архитектуры между драйвером и приложением

Я pyodbc сделать это соединение:

import pyodbc 
conn = pyodbc.connect("DRIVER = {Microsoft Access Driver (*.mdb, *.accdb)}; DBG=C:\\test_db.accdb") 

Однако, я получил следующее сообщение об ошибке:

('IM002, '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)') 

Я пошел к администратору источников данных ODBC и когда я попытался настроить или удалить Водителю я получил сообщение:

Errors Found: 
The specified DSN contains an architecture mismatch between the Driver and Application 

Я обнаружил, что эта ошибка спровоцирована несовместимость между версиями Windows (Windows 7 - 64 бит) и Microsoft Access (Office 2010 - 32 бит). Я попытался переустановить драйвер несколько раз, как с 32, так и с 64-битными версиями, но проблема не была решена. Не могли бы вы помочь мне решить эту проблему? Заранее спасибо.

+0

Попробуйте использовать 32-разрядную версию Python для запуска кода. –

+0

@GordThompson Нет альтернативы для использования другой версии? У меня есть несколько библиотек и конфигураций, которые трудно перестроить снова, и моя программа нуждается в них. – hardflow

+0

Другой альтернативой может быть удаление 32-разрядного Office, а затем установка 64-разрядного Office, чтобы у вас была 64-разрядная версия Access Database Engine. –

ответ

1

Вы должны убедиться, что версия Python соответствует версии драйвера ODBC: 32-разрядная с 32-разрядной, 64-разрядной и 64-разрядной версиями.

Похоже, у вас есть 64-разрядный Python/pyodbc и 32-разрядный MS Access.

Что вам нужно сделать, это установить 32-разрядную версию Python, а затем установить pyodbc.

Удачи вам!

+0

Да. Я проверил, и у меня 64-битный питон. Альтернативы нет, а не переустанавливать? У меня есть несколько библиотек и конфигураций, которые трудно будет перестроить снова. – hardflow

+0

Я мог бы использовать другую библиотеку, чем pyodbc. Единственное, что я хочу, это импортировать/экспортировать данные из моей программы python в эту базу данных доступа ms. – hardflow

Смежные вопросы

 Смежные вопросы