Как подключить pyodbc к Доступу (.mdb) файл Базы данных

Вот то, что я попробовал:

- Найдите менеджера по источнику данных ODBC Vista* посредством поиска,

- Добавьте новый Источник данных Файла*, выбрав Драйвер для Microsoft Access (*.mdb), и выбрав мой mdb файл интереса,

- импортируйте pyodbc из оболочки Python и попытки:

pyodbc.connect("DSN=<that Data Source I just created>")

Я получаю следующее сообщение об ошибке (португальский язык **):

Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Nome da fonte de dados n\xe3o encontrado e nenhum driver padr\xe3o especificado (0) (SQLDriverConnectW)') 

Который переводит как "Имя источника данных, не найденное и никакой стандартный указанный драйвер".

Что я делаю неправильно? Как разобраться в нем? Кроме того, я искал сеть документацию, но ничто не нашел стоящим очень, кто-либо мог рекомендовать какую-либо документацию?

*Имена не могут быть абсолютно точными, потому что мой Windows находится на португальском языке.

** Нет, португальский язык не имеет '3' и '\' как буквы, это misprinted специальные символы

5
задан Fionnuala 16 July 2010 в 10:44
поделиться

2 ответа

DSN = используется только для системного или пользовательского DSN.

Для файла DSN вам необходимо использовать FILEDSN = c: \ myDsnFile.dsn

http://www.connectionstrings.com/ - ваш лучший друг.

6
ответ дан 13 December 2019 в 22:00
поделиться

Я использую odbc модуль (включен в ActiveState Python), но тестировал pyodbc и у меня работает:

#db = odbc.odbc('northwind')
#db = odbc.odbc('Driver={Microsoft Access Driver (*.mdb)};Dbq=Nwind.mdb;Uid=;Pwd=;')
#db = pyodbc.connect('Driver={Microsoft Access Driver (*.mdb)};Dbq=Nwind.mdb;Uid=;Pwd=;')
db = pyodbc.connect('DSN=northwind')

Конечно закомментированные соединения тоже работают.

Я настроил nothwind как пользовательский DSN, поэтому вам, вероятно, придется настроить подключение к базе данных ODBC как User DSN или System DSN, или без настройки в ODBC Administrator вы можете использовать ConnectString, где вы можете указать на ваш .mdb файл.

1
ответ дан 13 December 2019 в 22:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: