Доступ к базе данных JET (.mdb) в Python - PullRequest
12 голосов
/ 01 апреля 2010

Есть ли способ получить доступ к базе данных JET из Python? Я на Linux. Все, что я нашел, это просмотрщик .mdb в репозиториях, но он очень неисправен Спасибо

Ответы [ 4 ]

11 голосов
/ 06 мая 2010

MDB Tools - это набор библиотек и утилит с открытым исходным кодом, облегчающих экспорт данных из баз данных MS Access (файлы mdb) без использования библиотек DLL Microsoft.Таким образом, ОС не Windows может читать данные.Или, другими словами, они осуществляют обратный инжиниринг макета файла MDB.

Jackcess - это чистая библиотека Java для чтения и записи в базы данных MS Access.Он является частью проекта OpenHMS от Health Market Science, Inc.Это не приложение.Там нет GUI.Это библиотека, предназначенная для других разработчиков для создания приложений Java.

ACCESSdb - это библиотека JavaScript, используемая для динамического подключения и запроса локально доступных файлов базы данных Microsoft Access в Internet Explorer.

И Jackcess, и ACCESSdb намного новее инструментов MDB, более активны и поддерживают запись.

4 голосов
/ 01 апреля 2010

Установите упакованную версию вашего дистрибутива mdbtools , используйте mdb-export для экспорта данных Jet в текстовые файлы, импортируйте данные в базу данных SQLite и получите комбинацию кода и данных, которая работает почти любая вычислительная среда, в которую вы можете попасть.

2 голосов
/ 01 апреля 2010

Наверное, самое простое решение:

  1. Загрузите VirtualBox и установите в нем доступ Windows и MS.

  2. Напишите небольшой сервер Python, который использует ODBC для доступа к базе данных и получает команды от сетевого сокета.

  3. В Linux подключитесь к серверу на виртуальной машине и получите доступ к базе данных таким образом.

Это дает вам полный доступ ко всем функциям. Любое другое решение будет либо ограничивать возможности, которые вы можете использовать (например, вы не сможете изменять данные), либо быть довольно небезопасным.

0 голосов
/ 31 января 2012

Если вы собираете CVS-версию mdb-tools, она работает довольно хорошо. Это исправило много проблем, которые я пытался использовать в репозиториях, связанных с размером мемо-поля. mdb-tools - это в основном мертвый проект, но люди все еще время от времени вносят код в CVS. Я думаю, что сборка в Ubuntu 2004 года.

CVS инструкции здесь:

http://sourceforge.net/scm/?type=cvs&group_id=2294

Если вы используете Ubuntu, перед загрузкой исходников вы должны включить репозитории исходников и выполнить:

apt-get build-dep mdbtools

Это позволит получить необходимые пакеты, необходимые для сборки исходных кодов из CVS вручную.

...