Доступ к базе данных C ++ без обязательной установки - PullRequest
4 голосов
/ 04 июня 2011

Я ищу базу данных, на которой можно запускать операторы SQL без необходимости устанавливать сервер базы данных.Т.е. мне нужна возможность выбирать / вставлять / обновлять базу данных, учитывая только файл базы данных и любые внешние библиотеки.

Вот моя ситуация:

  • Я использую C ++ для анализа черезнесколько двоичных файлов странного формата, и я хотел бы сохранить их в базе данных определенного типа, чтобы обеспечить более удобный доступ к данным.
  • После того, как файлы будут вставлены в базу данных, я буду использовать C #написать интерфейс / графический интерфейс, с помощью которого пользователь может взаимодействовать с базой данных.
  • Я использую C ++ для скорости чтения файлов и потому что я уже написал эту часть.
  • Я использую C #, потому что программирование в GUI намного проще.

Вот мои требования:

  1. База данных должна обеспечивать способ запуска команд в C ++ с использованием только внешних библиотек (без установки)
  2. Я должен быть в состоянии переместить базу данных на любой (аналогичный [Windows]) компьютер и запустить мое приложение

Я считаю, что это возможно с файлами MS Access * .mdb с использованием ADO или JET или чего-то подобного, однако я хотел бы услышать некоторые альтернативы.Пожалуйста, укажите в своем ответе базу данных и движок / библиотеки C ++.

Мои приоритеты:

  1. "Lite" -ness
  2. Производительность (скорость вставки /выберите)
  3. Простота кода клиента (т. е. насколько легко его настроить)

Спасибо всем.

Ответы [ 2 ]

6 голосов
/ 04 июня 2011

Вам нужно посмотреть на SQLite .Он идеально подходит для этого сценария и очень прост в использовании.Он очень популярен (большое сообщество), компактен, кроссплатформенен и прост в использовании.

Существуют реализации SQLite для других языков.Например, вы также можете получить доступ к базам данных SQLite с помощью C #.Существует даже Linq-to-SQLite.

5 голосов
/ 04 июня 2011

Вы не ошибетесь с SQLite здесь.

Он достаточно мал, чтобы быть встроенным во многие приложения (см., Например, здесь , чтобы получить список известных приложений от Photoshop до Apple Mail + Safari, Dropbox, Firefox, Chrome, Skype и т. Д.), Но достаточно полный, чтобы охватить большинство аспектов SQL, которые могут вам понадобиться. Отличная поддержка и широкий охват с точки зрения API и языков.

У него могут быть проблемы с блокировками и множественным доступом для записи. Но для одного клиента это должно прекрасно работать.

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