2014-02-14 3 views
0

Я использую последнюю версию Sqlite версия 3.8.3.1 на хосте Ubuntu. Здесь я пытаюсь создать в памяти базы данных при помощи гр программы и опции описаны в следующей ссылке: http://www.sqlite.org/inmemorydb.htmlСоздание базы данных Sqlite3 с использованием опционной памяти

Здесь база данных создается с помощью следующей функции вызова:

sqlite3_open("file::memory:?cache=shared", &db); 

Здесь файл базы данных file::memory:?cache=shared является созданный на жестком диске локально. Здесь почему sqlite3 создает файл базы данных на жестком диске для опции in-memory?

Сообщите мне, если я делаю что-то неправильно?

ответ

0

URI filenames работа только с sqlite3_open_v2.

+0

Пробовал использовать следующий вызов функции sqlite3_open_v2 (": memory:? Cache = shared", & db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); После использования вызова функции функции также создается файл «: memory:? Cache = shared» на жестком диске. Что-то не так в моем использовании? – user3309802

+0

Ошибка в том, что отсутствует флаг SQLITE_OPEN_URI. –

+0

Если я включаю только флаг SQLITE_OPEN_URI, тогда я получаю следующую ошибку: Не удается открыть базу данных: из памяти. И если я поместил все флаги SQLITE_OPEN_URI | SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE затем создается база данных, а также создает следующий файл на жестком диске: memory:? Cache = shared – user3309802

Смежные вопросы