Delphi встроенная БД - PullRequest
       2

Delphi встроенная БД

8 голосов
/ 06 февраля 2011

Мне нужен элемент управления SMALL / LIGHTWEIGHT DB (может быть доставлен в виде одного файла PAS), который я могу интегрировать непосредственно в свое приложение.Мне нужно хранить относительно небольшие объемы данных в небольшом количестве таблиц, и я хочу получить быстрый доступ к некоторым столбцам.Я знаю, что в Delphi 7 есть этот хороший BDE, но я не хочу беспокоить пользователя процессом установки.

Я использую Delphi 7.


РЕДАКТИРОВАТЬ:
Кажется, я задал не тот вопрос.Итак, вот что мне действительно нужно:
Как сохранить динамические данные (неизвестное количество полей) в файле?

Ответы [ 10 ]

9 голосов
/ 06 февраля 2011

NexusDB предлагает бесплатную встроенную версию. Вот Пример

8 голосов
/ 06 февраля 2011

Если вы решили не включать больше зависимостей в ваше приложение, взгляните на TClientDataSet.

Я бы порекомендовал какую-то "встроенную" базу данных.Пример: чтобы использовать Firebird в качестве встроенной базы данных, как минимум, вам нужно только отправить одну DLL.Вы можете поместить эту DLL в вашу программу установки, чтобы пользователю ничего не нужно было устанавливать.

7 голосов
/ 07 февраля 2011

Вы можете попробовать SQLite . Это отличная встроенная база данных. Быстро, надежно, и вы не можете побить цену (с открытым исходным кодом, общественное достояние) Существует несколько оболочек Delphi, или вы можете использовать библиотеку напрямую, если вы хотите облегченное решение.

7 голосов
/ 06 февраля 2011

Как альтернатива, как насчет бесплатной базы данных TDbf? Он компилируется непосредственно в ваше приложение и надежен для облегченного использования.

Кроме того, если вы достаточно взрослый, чтобы помнить дни, когда DBase была стандартной платформой базы данных для настольных компьютеров, то вы, вероятно, уже знаете, как ее использовать. : -)

Это на http://tdbf.sourceforge.net

(Если в последнее время активность невелика, то это потому, что она существует уже 10 лет и очень стабильна).

Просто мысль.

4 голосов
/ 07 февраля 2011

Два решения с открытым исходным кодом (от Delphi 6 до XE):

  1. Одно ORM ориентированное решение , которое может хранить данные с использованием SQLite или чистого Delphiместо хранения.Он может быть как автономным, так и клиент / сервер.

  2. Один очень быстрый чистый механизм хранения таблиц Delphi NoSQL .Образец теста мог хранить 1 000 000 записей с одним целым и одним текстовым полем за 800 мс (с автоматическим созданием индекса).Вы создаете свои собственные столбцы таблицы, а затем получаете доступ к содержимому полей через Late-Binding.

3 голосов
/ 07 февраля 2011

Если у вас есть какой-то бюджет, попробуйте AnyDAC .Он обеспечивает встроенный и встроенный доступ к SQLite, поэтому вам даже не нужно отправлять внешнюю DLL.

1 голос
/ 07 февраля 2011
1 голос
/ 06 февраля 2011

Я пробовал (упорядочено в легком весе):

  • NexusDB - коммерческий, слишком большой для того, что мне нужно; добавляет довольно много накладных расходов
  • DISQLite - кажется мощным; трудно использовать
  • kbmMemTable - коммерческий, НЕ РАССМОТРЕННЫЙ ДЛЯ ПОПРОБНЫХ ПОЛЬЗОВАТЕЛЕЙ (он не может быть испытан, если вы не приобретете документацию, в первую очередь соответствующую цели ПОПЫТКИ)
  • TDBF - бесплатно, но больше не поддерживается; также полностью отсутствует документация
  • Synopse BigTable - похоже, мне нужно решение. Он состоит только из 2 файлов PAS.

В некоторых ситуациях пользовательская система может подходить лучше, чем обычная. Итак, для того, что мне нужно, я настрою свою собственную систему. Поскольку я знаю размер / тип данных, я могу создавать поля, которые идеально соответствуют моим данным. Размер БД будет меньше и быстрее (плюс он бесплатный). :)

Решение: Как сохранить динамические данные (неизвестное количество полей) в файле?

0 голосов
/ 13 февраля 2011

Несмотря на то, что руководство оплачено, сам компонент доступен бесплатно, включая довольно обширное демонстрационное приложение, демонстрирующее множество функций.Кроме того, в Интернете много и много информации о том, как его использовать.Используйте www.codenewsfast.com или google.com для поиска.

С наилучшими пожеланиями Ким Мэдсен kbm@components4developers.com

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