Вопрос или проблема
У меня есть файл .accdb
, созданный с помощью Microsoft Office 2010, и я хотел бы узнать, возможно ли открыть его с помощью какой-нибудь нативной программы Ubuntu, такой как LibreOffice или OpenOffice. Я знаю, что в LibreOffice есть LibreOffice Base
, но я не могу понять, как открыть файл .accdb
, или возможно ли это вообще.
Существует ли способ открыть файл .accdb
без Wine или VirtualBox?
Да, мы можем использовать драйвер JDBC UCanAccess для подключения к базам данных Access (.mdb и .accdb) в LibreOffice Base.
Одноразовая настройка
Сначала я установил LibreOffice Base
sudo apt install libreoffice-base
Затем я перешел на UCanAccess на Maven Central, просмотрел последнюю версию и скачал файл uber.jar.
Я запустил LibreOffice (не Base, а просто LibreOffice)
и выбрал Инструменты > Параметры
На вкладке Дополнительно я нажал кнопку “Class Path…”
и затем добавил следующий JAR файл с помощью кнопки “Добавить архив…”:
/home/gord/Downloads/ucanaccess-5.1.2-uber.jar
Важно: Вы должны закрыть и снова открыть все компоненты LibreOffice (или OpenOffice.org), чтобы новое значение “Class Path…” вступило в силу. Это включает любые функции “быстрого старта” или другие связанные процессы. (Если хотите перестраховаться, просто перезагрузите свой компьютер.)
Настройка для базы данных
Я запустил LibreOffice Base, и на Шаге 1 мастера я выбрал “Подключиться к существующей базе данных (JDBC)”
Файл Access, который я хотел изменить, назывался “mdbTest.mdb” в моей папке Документы, поэтому на Шаге 2 “Datasource URL” был …
jdbc:ucanaccess:///home/gord/Documents/mdbTest.mdb
(обратите внимание, что Base предоставляет префикс jdbc:
для нас, поэтому все, что нам нужно ввести, это остальная часть URL, начиная с ucanaccess: …
)
… и “JDBC driver class” был
net.ucanaccess.jdbc.UcanaccessDriver
На Шаге 3 я оставил поле “Имя пользователя” пустым и просто нажал “Далее >>”.
На Шаге 4 я сохранил базу данных LibreOffice Base как “mdbTest.odb” в своей папке Документы.
Когда мастер завершил свою работу, он открыл мою базу данных LibreOffice, и я смог увидеть таблицы в файле .accdb
Устранение неполадок
Если вы используете дистрибутив, который по умолчанию устанавливает LibreOffice Base (например, Linux Mint), то вы можете получить ошибку
Не удалось установить соединение с источником данных “MyDatabase”.
‘org.hsqldb.persist.HsqlProperties
org.hsqldb.DatabaseURL.parseURL(java.lang.String, boolean, boolean)’
Это происходит потому, что LibreOffice установил свою собственную (довольно старую) копию HSQLDB, которая конфликтует с UCanAccess. Чтобы это исправить, удалите копию HSQLDB, установленную LibreOffice. Например, в Linux Mint это будет
sudo apt remove libhsqldb1.8.0-java
Также, если LibreOffice Base не будет работать по какой-либо причине, вы можете использовать DBeaver вместо этого. Установка (бесплатной) Community Edition так же проста, как
sudo snap install dbeaver-ce
Как упоминается здесь, говорится, что он поддерживает файлы Access, но если мы посмотрим глубже, то они тестировали только в LibreOffice до Office 2007.
Поскольку у вас Office 2010, я бы предложил попробовать этот ссылку, так как другие пользователи, судя по этому, уже пытались.
Кроме того, совместимость, показанная здесь, говорит о том, насколько хорош LibreOffice Base в отношении Microsoft Access 2010. По крайней мере, до версии 3.6.
Также есть вопрос на сайте Ask Libreoffice о это, который упоминает эту ссылку, где говорится о том, что формат 2007 отличается от 2010, и поэтому он не будет работать корректно в LibreOffice 3.6 или ниже.
Моя единственная рекомендация, не включая Wine или VirtualBox, – это использовать MS Office 2010, чтобы сохранить файл Access как версию 2007 (если возможно) или в формате MDB. По крайней мере, пока LibreOffice работает над улучшением совместимости с 2010 в целом.
Ответ или решение
Для открытия файла базы данных Access (.accdb), созданного с помощью Microsoft Office 2010 на операционной системе Ubuntu, существует несколько возможностей, которые не требуют использования Wine или VirtualBox. Ниже описаны основные шаги и рекомендации по этому процессу с использованием LibreOffice и UCanAccess, а также дополнительные варианты.
Открытие Access 2010 с помощью LibreOffice Base и UCanAccess
-
Установка LibreOffice Base
Первым шагом необходимо установить LibreOffice Base, если он еще не установлен. Для этого выполните следующую команду в терминале:sudo apt install libreoffice-base
-
Загрузка UCanAccess
UCanAccess – это JDBC-драйвер, который позволяет соединяться с базами данных Access (.mdb и .accdb). Перейдите на страницу UCanAccess на Maven Central и загрузите последнюю версию файлаuber.jar
. -
Настройка LibreOffice Base
- Запустите LibreOffice и выберите
Tools > Options
. - Перейдите на вкладку
Advanced
и нажмите кнопкуClass Path...
. - Используйте кнопку
Add Archive...
, чтобы добавить загруженный вами файлucanaccess-<версия>-uber.jar
(путь может выглядеть так:/home/ваше_имя/Downloads/ucanaccess-5.1.2-uber.jar
). - Важно: Закройте и перезапустите все компоненты LibreOffice, чтобы изменения вступили в силу.
- Запустите LibreOffice и выберите
-
Создание соединения с базой данных
Запустите LibreOffice Base и выберите опциюConnect to an existing database (JDBC)
.- В поле "Datasource URL" введите:
jdbc:ucanaccess:///путь/к/вашему/файлу.accdb
- Для класса JDBC-драйвера введите:
net.ucanaccess.jdbc.UcanaccessDriver
- Оставьте поле "User name" пустым и завершите настройку базы данных.
- В поле "Datasource URL" введите:
-
Тестирование соединения
После завершения настройки вы сможете увидеть таблицы из вашей базы данных Access в LibreOffice Base.
Альтернативные решения
Если использование LibreOffice Base по каким-то причинам не подходит, рассмотрите следующие альтернативы:
- DBeaver: Это мощный инструмент для работы с базами данных, который поддерживает Access. Установить DBeaver можно с помощью команды:
sudo snap install dbeaver-ce
DBeaver позволяет работать с различными типами баз данных и может быть хорошей альтернативой для работы с Access-файлами.
Проблемы с совместимостью
Некоторые пользователи могут столкнуться с проблемами при работе с файлами .accdb, созданными в Microsoft Access 2010. Это связано с тем, что LibreOffice тестировался до версии 2007. Поэтому возможно, что для корректной работы вам потребуется сохранить файл в формате, совместимом с более ранними версиями Access, такими как .mdb или .accdb (версия 2007).
Резюме
Таким образом, использование UCanAccess с LibreOffice Base является эффективным способом открыть файл .accdb без необходимости использования Wine или VirtualBox. Это решение позволяет пользоваться преимуществами LibreOffice и Freemium-решений на Ubuntu, обеспечивая доступ к важным данным в удобном для пользователя формате. Если возникнут проблемы, можно рассмотреть альтернативные приложения, такие как DBeaver, которые также поддерживают работу с Access.