Заполните базу данных MS Access в Linux - PullRequest
9 голосов
/ 02 ноября 2008

Есть ли способ создать базу данных Access / Jet из Linux?

Я пытаюсь передать данные с сервера приложений linux (серверная часть mysql) и не нашел никаких инструментов, позволяющих мне это сделать - похоже, что-то должно быть.

Если я не могу создать базу данных, есть ли способ вставить ее в существующий файл базы данных Access из Linux?

Инструмент CLI, оболочка для командного файла SQL, библиотека C, библиотека Ruby, что-нибудь еще?

Спасибо.

Ответы [ 10 ]

4 голосов
/ 11 мая 2011

Существует библиотека Java под названием jackcess , которая может записывать в Access файлы mdb с любой платформы, на которой может работать jvm.

1 голос
/ 23 июля 2012

Создать базу данных MS Access в Linux можно из Windows.

  1. Настройка общего ресурса SMB в Linux
  2. В Windows создайте подключенный диск для общего ресурса SMB
  3. Создание базы данных Access 3.1 Если у вас установлен MS Access, вы можете просто создать новую базу данных на общем ресурсе. 3.2 Если у вас не установлен MS Access, но у вас есть драйвер MS Access ODBC в Windows, просто создайте новый источник данных Microsoft Access ODBC - это даст вам возможность создать базу данных.

Затем вы можете использовать в качестве Драйвер ODBC Easysoft Access для записи данных в вашу базу данных.

В качестве альтернативы вы можете использовать другой инструмент Easysoft Easysoft ODBC-ODBC Bridge . Это позволит вам поддерживать базу данных Access в Windows, но при этом вы сможете вызывать ODBC-вызовы из приложения Linux.

1 голос
/ 02 ноября 2008

может быть глупым вопросом, но зачем доступ? Я должен предположить, что эти данные должны пройти в Windows в какой-то момент? Могут быть и другие способы решения этой проблемы. если БД доступа будет использоваться дома, вы можете установить соединение с MySQL из Access, работающего в Windows, и получить данные таким образом. если файл данных будет отключен, вы можете попробовать создать текстовый файл, разделенный запятыми, с данными, но дать ему расширение .xls - на компьютере с Windows это откроется в Excel, что будет доступно многим пользователям хорошо с.

1 голос
/ 02 ноября 2008

EasySoft имеет драйвер ODBC, который можно использовать для вставки данных в существующую базу данных MS Access.

Если вы можете, я бы поменял Access на SQL Server Express (бесплатная загрузка), затем вы можете использовать драйвер FreeTDS ODBC для связи с ним из Linux или одного из другие доступные коммерческие драйверы ODBC для доступа к MS SQL Server из Linux.

0 голосов
/ 28 ноября 2014

Есть ли способ создать базу данных Access / Jet из Linux?

Абсолютно. UCanAccess - это бесплатный драйвер JDBC для Java с открытым исходным кодом, который может создавать / читать / записывать базы данных Access 2000+ (только для чтения для Access 97) на любой машине, на которой работает Java. Более подробную информацию о том, как использовать его с Java, можно найти здесь:

Управление базой данных Access из Java без ODBC

Если вы предпочитаете работать с Python, вы можете использовать UCanAccess с Jython или JayDeBeApi, как показано в моем ответе здесь .

0 голосов
/ 26 января 2013

MDB Tools обеспечивает:

  • библиотека C
  • набор инструментов командной строки
  • драйвер ODBC [unixODBC] (для http://www.unixodbc.org/), который, в свою очередь, имеет оболочки для других языков

Это бесплатно и с открытым исходным кодом.

0 голосов
/ 29 июля 2009

Вы можете запустить Access 2002 в системе Linux, используя Crossover Office , и автоматизировать его из скрипта. (Например, вы можете написать некоторый VBScript и выполнить его с помощью wscript.exe в CrossOver.)

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

0 голосов
/ 15 апреля 2009

Можно ли редактировать базу данных доступа в Windows, чтобы использовать связанные таблицы, которые затем связываются с внешним текстовым файлом, файлом XML, документом HTML и т. Д .?

В Office2007 используйте вкладку «Внешние данные», а затем выберите «Текстовый файл», «Файл XML» и т. Д. Просто убедитесь, что вы выбрали переключатель «Ссылка на источник данных путем создания связанной таблицы». Если вы сначала удалите существующую таблицу и создадите связанную таблицу с тем же именем, вы можете просто обмануть свое приложение, чтобы просмотреть текстовый файл через Access в качестве прокси.

Таким образом, вы можете легко обновить внешний файл из вашего приложения Linux, и ваше приложение должно видеть эти данные, когда оно взаимодействует с базой данных доступа.

0 голосов
/ 13 декабря 2008

Почему бы не использовать веб-сервис? Вы можете запустить службу ASP (или любую другую) на компьютере с Windows, и она может создать необходимый файл .mdb с использованием ODBC. Тогда ваше приложение Linux может загрузить необработанные данные и получить в ответ .mdb.

Или, в качестве альтернативы, просто запустите весь скрипт на Windows. Вы можете установить Cygwin и / или ActiveSate Perl и получить доступ к драйверам Windows ODBC (включая Access) оттуда.

0 голосов
/ 03 ноября 2008
  1. Если вы хотите создать базу данных доступа (файл mdb) с нуля, вам понадобится Microsoft Office dll, так что я думаю, вы можете забыть об этом.

  2. Если ваша идея заключается в том, чтобы вставлять / манипулировать данными в файле Access mdb, вам потребуется специальный драйвер для того типа соединения, который вы хотите использовать. Я думаю, что ваш выбор будет в основном между ODBC и OLEDB. Затем вы можете использовать это соединение для изменения ваших данных (INSERT, UPDATE, DELETE), извлечения их (SELECT) и даже манипулирования структурой вашей базы данных с помощью инструкций DDL (CREATE, DROP и т. Д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...