c++ linux - Базы данных !?

Модератор: Модераторы разделов

Аватара пользователя
joub
Сообщения: 170
ОС: Debian

c++ linux - Базы данных !?

Сообщение joub »

Всем доброго времени суток!

Собираюсь написать небольшую софтятину, для нее необходима база данных: несколько таблиц, в таблицах по несколько полей (байтовые, текстовые, целочисленные и т.п.).

Сейчас хочу выбрать - в на основе какой BD реализовываться,...
Из ограничений: хранить дынные необходимо в файловом виде (обдумывал формат dbf (xBase)), а так же необходима кросплатформинность: Linux, Windows., под вторым вполне возможно использовать cygwin....
MySQL рассматривать бы не хотелось, т.к. для нее необходим сервер...


За ранее всем спасибо!
Спасибо сказали:
sciko
Сообщения: 1744
Статус: Ъ-участник
ОС: Debian/Ubuntu/etc

Re: c++ linux - Базы данных !?

Сообщение sciko »

Т.к. ТС упомянул MySQL предлагать Berkeley DB не буду (не реляционная), а предложу сразу SQLite.
Спасибо сказали:
Ism
Сообщения: 1261
Статус: Никто, по сути быдло

Re: c++ linux - Базы данных !?

Сообщение Ism »

firebird
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: c++ linux - Базы данных !?

Сообщение eddy »

sqlite
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
sciko
Сообщения: 1744
Статус: Ъ-участник
ОС: Debian/Ubuntu/etc

Re: c++ linux - Базы данных !?

Сообщение sciko »

eddy, было. Ещё вариант?
Спасибо сказали:
Аватара пользователя
joub
Сообщения: 170
ОС: Debian

Re: c++ linux - Базы данных !?

Сообщение joub »

eddy писал(а):
30.11.2010 16:00
sqlite


Подскажите теперь - какими libs с ней работать !? :)
Спасибо сказали:
sciko
Сообщения: 1744
Статус: Ъ-участник
ОС: Debian/Ubuntu/etc

Re: c++ linux - Базы данных !?

Сообщение sciko »

Срочно телепатов в тред! Моя libastral.so поломалась, ещё на роутерах.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: c++ linux - Базы данных !?

Сообщение eddy »

joub писал(а):
30.11.2010 16:12
Подскажите теперь - какими libs с ней работать !?

libsqlite3
Малюсенький пример кода (веб-авторизация через https):

Код: Выделить всё

char *SQLexec(char *q_str){
    sqlite3 *db;
    char *zErrMsg = NULL, *ret = NULL;
    int rc = sqlite3_open("user-pass", &db);
    if(rc){ sqlite3_close(db); die(NO_DB);}
    if(SQLbuf){ free(SQLbuf); SQLbuf = NULL;}
    rc = sqlite3_exec(db, q_str, callback, NULL, &zErrMsg);
    if(rc){
        fprintf(stderr, "SQL error: %s\n", zErrMsg);
    }
    else if(SQLbuf)
        ret = strdup(SQLbuf);
    sqlite3_close(db);
    return ret;
}

char *get_passwd(char *login, int *level){
    char *q_str = (char*)calloc(512, 1), *ret=NULL, *tmp;
    snprintf(q_str, 512, "select pass from users where login=\"%s\";", login);
    ret = SQLexec(q_str);
    snprintf(q_str, 512, "select level from users where login=\"%s\";", login);
    if( !(tmp = SQLexec(q_str)) ) *level = 0;
    else *level = atoi(tmp);
    free(q_str);
    free(tmp);
    return ret;
}
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: c++ linux - Базы данных !?

Сообщение frp »

joub писал(а):
30.11.2010 15:24
Из ограничений: хранить дынные необходимо в файловом виде

Firebird Embedded, SQLite (первый фичастее, второй проще и легковеснее).
joub писал(а):
30.11.2010 15:24
MySQL рассматривать бы не хотелось, т.к. для нее необходим сервер...

MySQL embedded не требует сервера.
Спасибо сказали: