Можно ли открыть файл базы данных Access 2010 без использования Wine или VirtualBox?

38

У меня есть .accdbфайл, созданный с помощью Microsoft Office 2010, и я хочу знать, возможно ли открыть его с помощью какого-либо собственного приложения Ubuntu, такого как LibreOffice или OpenOffice, я знаю, что у LibreOffice есть, LibreOffice Baseно я не могу понять, как открыть, или если это вообще возможно открыть .accdbфайл.

Можно ли как-нибудь открыть .accdbфайл без Wine или VirtualBox?

Jeggy
источник

Ответы:

11

Как упомянуто здесь, он говорит, что поддерживает файлы 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 годом в целом.

Луис Альварадо
источник
1
Я заметил эту строку здесь : «ограниченный olders водитель„Microsoft.Jet.OLEDB.4.0“работает отлично для чтения / записи, в то время как водитель„Microsoft.ACE.OLEDB.12.0“только чтение; ( фд # 43187 ). Драйвер работает только на Windows . - отлично ...
Уилф
51

Да, мы можем использовать драйвер JDBC UCanAccess для подключения к базам данных Access (.mdb и .accdb) в базе LibreOffice. Вот как я это сделал на чистой установке Ubuntu 14.04 LTS.

Важное примечание.  Эти инструкции применимы к UCanAccess версии 3.0.5 и более поздним (включая версию 4.x). Прежде чем продолжить, убедитесь, что вы используете последнюю версию UCanAccess, доступную здесь .

Единовременная настройка

Сначала я установил LibreOffice Base

sudo apt-get install libreoffice-base

Затем я скачал UCanAccess ( bin.zipфайл) и распаковал его в папку

~/Downloads/JDBC/UCanAccess

HomeFolder.png

Примечание. При разархивировании файла дистрибутива обязательно укажите «Сохранить структуру каталогов» (или аналогичную, в зависимости от используемого инструмента разархивирования), чтобы структура папок выглядела так, как показано на скриншоте выше.

Я запустил LibreOffice (не Base, только сам LibreOffice)

LibreOffice.png

и выбрал Инструменты> Параметры

ToolsOptions.png

На вкладке «Дополнительно» я нажал кнопку «Путь к классу ...»

ClassPathButton.png

а затем добавил следующий JAR-файл с помощью кнопки «Добавить архив ...»:

/home/gord/Downloads/JDBC/UCanAccess/loader/ucanload.jar

ClassPathDialog.png

Обратите внимание, что это файл ucanload.jar в подпапке / загрузчике , а не «ucanaccess-xyzjar» в домашней папке UCanAccess.

Важное замечание: Вы должны закрыть и снова открыть все компоненты LibreOffice (или OpenOffice.org), чтобы новое значение «Путь к классу ...» вступило в силу. Это включает в себя любые функции «быстрого запуска» или другие связанные процессы. (Если вы хотите быть осторожным, просто перезагрузите компьютер.)

Настройка для каждой базы данных

Я запустил LibreOffice Base и на шаге 1 мастера выбрал «Подключиться к существующей базе данных (JDBC)»

ExistingDatabase.png

Файл Access, которым я хотел манипулировать, назывался «uca301demo.accdb» в моей папке «Документы», поэтому на шаге 2 «URL источника данных» был

jdbc:ucanaccess:///home/gord/Documents/uca301demo.accdb

и "класс драйвера JDBC" был

net.ucanaccess.jdbc.UcanloadDriver

BaseJdbcPage.png

На шаге 3 я оставил поле «Имя пользователя» пустым и просто нажал «Далее >>».

На шаге 4 я сохранил базу данных LibreOffice Base как «accdbTest.odb» в своей папке «Документы».

Когда мастер завершил работу, он открыл мою базу данных LibreOffice, и я смог увидеть таблицы и сохраненные запросы в файле .accdb.

BaseMainWindow.png

Горд Томпсон
источник
Отличная работа Горд. Любая идея, если это использует существующие драйверы? У меня проблемы с загрузкой этого в мое статистическое программное обеспечение для импорта таблиц доступа :)
AdamO
Brilliant! Но мне нужно было добавить jackcess-2.1.4.jar и hsqldb.jar в мой путь к классу java. (Я сделал это, поместив их в jdk / jre / lib / ext). До этого я получал сообщение об ошибке, в котором говорилось, что драйвер поврежден.
Ланс Холланд
Это все еще работает для LibreOffice 6.2! Спасибо!
StR