Доступ к базе данных в C - PullRequest
       2

Доступ к базе данных в C

2 голосов
/ 16 августа 2011

Я разрабатываю приложение, полностью написанное на C .Я должен где-то постоянно сохранять данные.Я пробовал хранение файлов, но я чувствую, что это действительно примитивный способ делать эту работу, и я не хочу сохранять свои конфиденциальные данные в простом текстовом файле.Как я могу сохранить свои данные и легко получить к ним доступ?Я пришел из фона JavaScript и предпочел бы что-то вроде jsons.Я буду счастлив с чем-то вроде postgreSQL также.Дайте мне несколько предложений.Я использую gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3.

Ответы [ 6 ]

4 голосов
/ 16 августа 2011

sqlite , кажется, соответствует вашим требованиям.

SQLite - это встроенный механизм базы данных SQL.В отличие от большинства других баз данных SQL, SQLite не имеет отдельного серверного процесса.SQLite читает и пишет напрямую в обычные файлы на диске.Полная база данных SQL с несколькими таблицами, индексами, триггерами и представлениями содержится в одном файле на диске.Формат файла базы данных является кроссплатформенным - вы можете свободно копировать базу данных между 32-разрядными и 64-разрядными системами или между архитектурами с прямым и младшим порядком байтов.Эти функции делают SQLite популярным выбором в качестве формата файла приложения.Думайте о SQLite не как о замене Oracle, а как о замене fopen ()

Проверьте быстрый запуск

2 голосов
/ 16 августа 2011

http://www.postgresql.org/docs/8.1/static/libpq.html

libpq - это интерфейс программиста приложения на C к PostgreSQL. libpq - это набор библиотечных функций, которые позволяют клиентским программам передавать запросы на внутренний сервер PostgreSQL и получать результаты этих запросов.

1 голос
/ 16 августа 2011

SQLite - популярный выбор, потому что он легкий и быстрый.Он также предлагает интерфейс C / C ++ (включая несколько других языков).

1 голос
/ 16 августа 2011

SQLite - облегченная база данных. Эта страница описывает интерфейс языка C:

SQLite - это программная библиотека, в которой реализован автономный серверный транзакционный механизм баз данных SQL с нулевой конфигурацией. SQLite - это наиболее широко используемый в мире механизм баз данных SQL. Исходный код для SQLite находится в открытом доступе.

1 голос
/ 16 августа 2011

Я бы порекомендовал SQLite .Я думаю, что это отличный способ хранения локальных данных.

Есть привязки библиотеки C, и ее API довольно прост.

Его главное преимущество в том, что вам нужна только библиотека.Вам не нужна сложная настройка сервера базы данных (как в случае с PostgreSQL).Кроме того, его площадь достаточно мала (он также часто используется в мире мобильных разработок {iOS, android, другие}).

Его недостаток в том, что он плохо обрабатывает параллелизм.Но если это локальное, простое однопоточное приложение, то, думаю, проблем не будет.

Встроенный MySQL или BerkeleyDB и другие вариантыВы можете взглянуть на.

0 голосов
/ 16 августа 2011

Все остальные уже упоминали SQLite, так что я буду использовать dbm:

http://linux.die.net/man/3/dbm_open

Он не так хорош, как SQLite (например, это не полная база данных SQL), но с ним часто проще работать, так как он требует меньше настроек.

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