Linux and microsoft access

Populate a MS Access database in Linux

Is there any way to create an Access / Jet database from within Linux? I’m trying to feed data from a linux application server (mysql backend) and have not found any tools that let me do this — it seems there should be something. If I can’t create a database, is there a way to insert into an existing Access database file from within Linux? CLI tool, wrapper to SQL command file, C library, Ruby library, anything? Thanks.

10 Answers 10

There is a java library called jackcess that can write to Access mdb files from any platform that can run a jvm.

EasySoft have an ODBC driver that could be used to insert data into an existing MS Access database.

If you can, I would swap Access for SQL Server Express (free download), then you can use the FreeTDS ODBC driver to talk to it from Linux or one of the other available commercial ODBC drivers to access MS SQL Server from Linux.

Does SQL Server Express run on Linux? If so, you’re just swapping one Windows database for another. If you’re running Linux, using Linux databases!

Linux can talk to SQL server via ODBC and TCP sockets. But an Access ODBC driver would essentially be an entire implementation of JET, and Linux doesn’t have one of those. So an SQL Server would actually work here.

This answer does not take «recent» developments (i.e., over the last six years) into account. See James’ answer and my answer for options.

@Gord: I hardly think a downvote is justified by the fact that a once correct answer has become out of date.

might be a dumb question, but why access? I have to assume that this data needs to make its way over to Windows at some point? There might be other ways of solving this problem. if the access db is going to be used in house, you can setup a connection to MySQL from Access running on windows and get the data that way.. if the data file is going to be disconnected, you could try creating a comma-separated text file with the data, but give it a .xls extension — on a windows machine this will cause it to open in Excel, which many users would be ok with.

Is there any way to create an Access / Jet database from within Linux?

Absolutely. UCanAccess is a free, open-source, pure Java JDBC driver that can create/read/write Access 2000+ databases (read-only for Access 97) on any machine running Java. More information on how to use it with Java can be found here:

Читайте также:  Linux time machine backup

If you’d rather work with Python then you can use UCanAccess with Jython or JayDeBeApi as illustrated in my answer here.

  1. If you want to create an access database (mdb file) from scratch, you’ll need some Microsoft Office dll, so I think you can forget it.
  2. If your idea is to insert/manipulate data in an Access mdb file, you’ll need a specific driver for the kind of connexion you want to use. I think your choice will be basically between ODBC and OLEDB. You can then use this connexion to modify your data (INSERT, UPDATE, DELETE), extract it (SELECT) of even manipulate your database structure through DDL instructions (CREATE, DROP, etc).

re: «If you want to create an access database (mdb file) from scratch, you’ll need some Microsoft Office dll, so I think you can forget it.» — No longer true, see James’ answer and my answer for options.

Why not use a web service? You could run an ASP (or whatever) service on a Windows machine, and it could construct the required .mdb file using ODBC. Then your Linux app could upload the raw data and receive an .mdb in response.

Or alternatively, just run your entire script on Windows. You can install cygwin and/or ActiveSate perl and access Windows ODBC drivers (including Access) from there.

Is it feasible for you to edit your access database in windows so that you use linked tables which are then linked to an external Text File, XML File, HTML Document, etc.?

In Office2007 use the «External Data» tab and then select ‘Text File’, ‘XML File’, etc.. Just make sure that you select the radio button ‘Link to the data source by creating a linked table.’ If you first remove the existing table and create a linked table with the same name you just might fool your application into viewing the text file through Access as a proxy.

This way you could update the external file easily from your linux application and your application should see that data when it interacts with the access database.

Читайте также:  Linux команда вывода сообщения

Источник

Аналоги Access для Linux

Когда небольшие предприятия, общественные организации и другие подобного размера компании понимают, что им нужно где-то хранить свои данные, они, в первую очередь вспоминают о Microsoft Access. Это будет правильным выбором если вы уже платите за подписку Microsoft и не против использовать проприетарное программное обеспечение.

Но это не единственный вариант и если вы предпочитаете использовать свободное программное обеспечение или у вас недостаточно бюджета на покупку продуктов Microsoft, для вас тоже есть решение. Существует несколько приложений баз данных с открытым исходным кодом, которые являются достойной альтернативой для Microsoft Access или Apple FileMaker. В этой статье мы собрали лучшие аналоги Access для Linux.

Лучшие аналоги Access для Linux

1. LibreOffice Base

Если это не очевидно из названия, Base — это одна из программ пакета Libreoffice. В этот пакет также входят Writer (текстовый процессор), Calc (табличный процессор), Impress (презентации), Draw (рисование), Charts (графики) и Math (формулы). Таким образом, Base интегрируется с другими приложениями Libreoffice также, как и Access с с пакетом Microsoft Office. Это значит, что вы можете импортировать и экспортировать данные из Base в другие приложения пакета для создания финансовых отчетов, графиков и много другого.

Base по умолчанию включает в себя драйвера, которые поддерживают несколько многопользовательских движков баз данных, среди которых есть и базы данных с открытым исходным кодом: MySQL, MariaDB и PostgreSQL, а также другие JDBC и ODBC совместимые базы данных. Встроенные мастера и шаблоны таблиц позволяют новым пользователям быстро приступить к работе по созданию таблиц и запросов, а также построению форм и отчетов таких как счета, отчеты о продажах и списки клиентов. В сети интернет есть очень много руководств по использованию программы, а также можно найти сертифицированного агента поддержки, который решит ваши проблемы.

Установщики доступны для Linux, MacOS, Windows и Android. LibreOffice распространяется под лицензией Mozilla Public License v2, поэтому вы можете не только свободно использовать и распространять программу, но и поучаствовать в её разработке. Это лучшая альтернатива Access для Linux.

2. DB Browser for SQLite

DB Browser for SQLite позволяет пользователям создавать и использовать базу данных SQLite без необходимости знания сложного синтаксиса SQL команд. Это, а также простой табличный интерфейс и встроенные мастера делают программу отличным решением для новых пользователей баз данных.

За время разработки приложение уже несколько раз меняло имена. Изначально оно называлось Arca Database Browser, затем было выбрано имя SQLite Database Browser. В 2014 году, чтобы избежать конфликта с SQLite название было изменено на текущее.

Читайте также:  Mysql linux начало работы

Встроенные в программу мастера позволяют пользователям легко создавать и модифицировать файлы баз данных, таблицы, индексы, записи, импортировать и экспортировать данные, создавать и выполнять запросы и искать в таблице. Установщики есть для Windows, MacOS и большинства Linux дистрибутивов.

DB Browser for SQLite распространяется по двум лицензиям: Mozilla Public License Version 2 и GNU General Public License Version 3. Исходный код программы может быть загружен из официальной страницы проекта.

3. Kexi

У окружения рабочего стола KDE тоже есть свой офисный пакет под названием Calligra Suite. В качестве программы для работы с базами данных здесь используется Kexi. Также сюда входят такие программы: Words (текстовый процессор), Sheets (табличный процессор), Stage (презентации) и Plan (менеджер проектов).

Как полноценный компонент проекта KDE, Kexi создана для использования в окружении KDE Plasma, однако это не ограничивает её область использования только KDE пользователями. Программа также может быть установлена в Linux и BSD дистрибутивах, использующих Gnome, а также в MacOS и в Windows.

На официальном сайте программы сказано, что она разрабатывается потому что нет других быстро развивающихся программ для работы с базами данных, которые были бы достаточно мощными, недорогими, управляемыми открытыми стандартами и переносимыми на многие операционные системы, смартфоны и аппаратные платформы. В программе есть все стандартные функции, которые можно было бы ожидать. Это проектирование баз данных, хранение данных, выполнение запросов, обработка данных и так далее.

Kexi доступна под свободной лицензией LGPL и вы можете скачать её исходный код из официальной Wiki.

4. nuBuilder Forte

NuBuilder Forte разработан так, чтобы людям было как можно проще им пользоваться. Это браузерный инструмент для разработки веб приложений для работы с базами данных. Он имеет очень простой интерфейс и много удобных инструментов, включая поддержку drag & drop, которые позволяют создавать базы данных очень быстро.

Как в любом другом веб-приложении данные доступны везде с помощью браузера. Все данные хранятся в базе данных MySQL и могут быть в любой момент экспортированы в виде одного файла. В программе используются стандартные языки веб программирования (HTML, PHP, JavaScript и SQL), что позволяет разработчикам быстро начать работу. До полноценной замены MS Access здесь ещё далеко, но работать с программой можно.

Программа nuBuilder Forte распространяется под лицензией GPLv3.0 и доступен для загрузки на Github.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Оцените статью
Adblock
detector