Вот то, что я попробовал:
- Найдите менеджера по источнику данных 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 специальные символы
DSN = используется только для системного или пользовательского DSN.
Для файла DSN вам необходимо использовать FILEDSN = c: \ myDsnFile.dsn
http://www.connectionstrings.com/ - ваш лучший друг.
Я использую 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
файл.