Базы данных MS Access в MS Windows управляются Microsoft Jet Engine . В отличие от систем управления базами данных клиент-сервер, таких как MS SQL Server или MySQL, подключение к базе данных MS Access выполняется во встроенном режиме через OLE и некоторые библиотеки DLL.
Насколько я знаю, реализация Jet Engine для операционных систем, кроме MS Windows, отсутствует. Поэтому, если вы хотите подключиться к файлу MDB в Mac OS, простого драйвера JDBC недостаточно. Должен быть какой-то слой эмуляции для эмуляции DLL-файлов Jet Engine. Согласно веб-сайту HXTT , именно так работает драйвер HXTT JDBC.
С веб-сайта HXTT:
Содержит быстрый движок базы данных.
написанный на Java, который поддерживает
встроенный и серверный режимы.
Если использование формата базы данных MS Access является абсолютным требованием, то подобная эмуляция может быть лучшим способом для вас. Но вы должны подтвердить, что уровень совместимости достаточно высок. (Возможно, нет способа получить доступ к макросам VBA, содержащимся в файле MDB.)
Кажется, что нет проекта с открытым исходным кодом, выполняющего такую же эмуляцию, как HXTT.
Есть несколько альтернатив. Если вам нужна встроенная система баз данных, вы можете использовать, например,
- SQLite ( этот драйвер JDBC поддерживает Mac Os) (один файл базы данных, требуется несколько собственных библиотек),
- H2 (только несколько файлов базы данных, чистый Java) или
- Apache Derby (много файлов базы данных, чистая Java).
Или вы можете использовать систему управления базами данных клиент-сервер, установить сервер на хост и подключиться к нему с вашего компьютера Mac OS. Для этого вы можете использовать, например,
Даже чистые базы данных Java H2 и Derby имеют режимы клиент-сервер.