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

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

-Find Vista ODBC Data Source Manager * через поиск,

-Добавить новый источник данных файла *, выбрав «Драйвер для Microsoft Access» (* .mdb) и выбрав интересующий файл mdb,

-import pyodbc из оболочки python и попробуйте:

pyodbc.connect("DSN=") 

Я получаю следующее сообщение об ошибке (Portuguese **):

 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» и «\», это непечатаемые специальные символы

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

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

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

У меня была аналогичная проблема с pyodbc, хотя не с Access, а с другим драйвером ODBC.

Это помогло мне. http://robertoschiabel.wordpress.com/2008/02/28/windows-x64-32bit-odbc-vs-64bit-odbc/ (вот соответствующая статья в KB, если этот URL-адрес уходит. http: // support. microsoft.com/kb/942976/en-us )

Наше предыдущее серверное оборудование умерло, и нам пришлось быстро передислоцировать на 64-битную ОС, потому что это все, что у нас было, что было доступно. Используя обычный инструмент администрирования ODBC, я добавил соответствующий DSN, но он все еще утверждал, что он не найден. Только при запуске специальной 32-разрядной версии администратора ODBC я смог определить DSN, который мог найти мой скрипт с помощью pyodbc.

Я использую модуль 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 .

Разумно перечислить ваши соединения odbc с pyodbc, чтобы узнать, что вы используете. Убедитесь, что вы используете 32-битный драйвер Python 32-разрядного пиодба. Если вы хотите использовать 64-битные файлы доступа, вы должны использовать 64-разрядный MS Acceess, который предоставляет драйвер.

 sources = pyodbc.dataSources() keys = sources.keys() for key in keys: print key 
  • BSOD - невозможно проверить временную метку для ntoskrnl.exe
  • Можно ли отключить сообщение «сканировать и исправить» при вставке SD-карты?
  • Как включить режим AHCI после установки Windows Vista в режиме IDE и до / для Windows 7 чистой установки?
  • Контрольные суммы ISO Microsoft Windows
  • Где Windows Vista хранит данные реестра на жестком диске?
  • Как повысить привилегии только в случае необходимости?
  • Windows: как я могу перенаправить звук, поступающий от микрофона к выходу динамиков
  • Как определить, к какому процессу принадлежит окно?
  • Как разблокировать Windows-спящий диск?
  • Как проверить выравнивание разделов на накопителе SSD?
  • Показывать секунды в Vista Clock на системном лотке
  • Interesting Posts

    Обработка инкрементного моделирования данных Изменения в функциональном программировании

    Размер изображения Android ImageView не масштабируется с исходным изображением

    Android: ошибка в launchMode = “singleTask”? -> стек активности не сохранен

    Добавить статический вход ARP в маршрутизатор Verizon AC1750

    Воспроизведение файла MP3 в приложении WinForm

    Как включить 4 ГБ в моем 64-битном Windows 7?

    eclipse error: glassfish \ domains \ domain1 не существует

    Именованное форматирование строк в C #

    jQuery – В чем разница между $ (document) .ready и $ (window) .load?

    indentationLevelForRowAtIndexPath не отступы пользовательской ячейки

    PowerPoint: отображать только объекты, относящиеся к определенному шагу анимации

    Переименуйте несколько файлов, заменив определенный шаблон в именах файлов, используя сценарий оболочки

    Самая верхняя форма, нажатие «через» возможно?

    iphone: Где находится файл .dSYM в отчете о сбое

    Как я могу сохранить новые строки в частичной части AngularJS?

    Давайте будем гением компьютера.