Чтение базы данных MS Access .MDB в Objective-C - PullRequest
5 голосов
/ 22 апреля 2011

Я изучаю возможность переноса монитора ATCS из Windows на iPad и Mac OS X. Монитор ATCS использует Microsoft JET 4.0 для чтения данных из файлов Access MDB.Существует ли библиотека Objective C, которая может читать файлы MDB, или мне нужно свернуть свои собственные (скорее всего, на основе MDB Tools )?

Ответы [ 3 ]

1 голос
/ 29 июня 2013

Нет библиотеки Open Source Objective-C для чтения файлов MDB.

Вот все известные мне способы чтения файлов MDB на Mac / iPhone:

1) MDB Tools : версия 0.7 вполне пригодна для использования. Имеет довольно удобный, хотя и плохо документированный C API. Поддерживает чтение таблиц. Лицензировано по лицензии LGPL, поэтому использование его на iOS может быть недопустимым, но не должно быть проблемой на Mac.

2) Актуальные драйверы ODBC для Access (проприетарно): только для Mac. Может быть, вы сможете найти лицензионное соглашение с компанией, которая их производит.

3) Jackcess , изначально порт MDB Tools для Java, но они добавили поддержку записи. Вероятно, полезно только на Mac.

4) HXTT Access Pure Java JDBC : проприетарная библиотека Java для чтения и записи баз данных Access. Это интересно, потому что название компании Impathic использует его в своих приложениях для Mac (и, как мне кажется, iPhone). Они абсолютно сумасшедшие и включают полную среду выполнения Java в свой пакет приложений, чтобы они могли распространять приложение Java в App Store, но, похоже, это работает (хотя и с несколькими ошибками).

5) Моя собственная проприетарная библиотека. Я написал библиотеку Objective-C (с нуля) для чтения баз данных Access и использую ее в своих приложениях Mac и iPhone . Если вы заинтересованы в лицензировании, свяжитесь со мной.

0 голосов
/ 01 декабря 2011

Я бы импортировал эти MDB-файлы в БД MySQL (поскольку OSX все равно не может их прочитать), и ваш клиент OSX / Ipad имел бы прямой доступ к этому уровню БД (или к веб-службе, предоставляющей доступ к ним)

0 голосов
/ 29 ноября 2011

Почему данные должны быть файлом Access .mdb для версий iPad / OS X?

Я не знаю, как работают внутренние компоненты системы ATCS, но я предполагаю, что данныедоступно через какой-либо тип веб-службы.Если файл .mdb используется только для хранения данных на локальном компьютере, то ваша реализация Objective-C могла бы использовать любую локальную систему хранения данных для того же.

Я просто могуПредставьте себе сценарий, в котором файл .mdb был открыт каким-либо образом вне приложения.Программа загружает файл .mdb и затем читает данные?Если это так, то было бы достаточно легко написать свой собственный веб-сервис, который преобразует данные на сервере в другой формат, который может быть лучше использован вашим кодом Objective-C.

Редактировать: Таким образом, пользователи обмениваются файлами .mdb друг с другом.Я по-прежнему думаю, что лучшим вариантом будет веб-служба, которая преобразует файл .mdb в формат, который легче использовать через iOS / Mac.Чтобы версии приложения Objective-C могли импортировать файл .mdb, их необходимо подключить к Интернету, по крайней мере, столько, сколько потребуется веб-службе для преобразования данных.

Редактировать 2: Может быть, вы нашли потребность, которую вы должны заполнить.Если центрального хранилища для обмена этими данными не существует, вы можете создать такое хранилище и предложить пользователям в группах Yahoo использовать его.Сделайте так, чтобы кому-то было легко загружать и импортировать свои данные из файлов MDB.Создайте веб-интерфейс в дополнение к интерфейсу рабочего стола.Агрегируйте данные из всех отдельных загрузок.Есть много возможностей!

Я понимаю, что встреча с пользователями там, где они есть, но мне также кажется, что есть отличная возможность дать этому сообществу пользователей возможность перейти в XXI век.

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