2013-08-05 8 views
3

У меня есть встроенная система, которая использует C/C++ api с скомпилированной версией SQLite v3. Я получаю ошибку SQLITE_NOMEM на pragma integrity_check(10);. Я спросил базового системного программиста, каков размер кучи приложений, и он говорит мне, что значение составляет 500 тыс. А также есть размер вектора SQL 4096.Ошибка sqlite nomem при проверке целостности

Какие варианты я должен избавиться от этого? За исключением разделения баз данных на несколько?

+0

'pragma integrity_check' - административная функция, которая не должна запускаться во время нормальной работы. (И что вам делать, когда проверка не удается?) –

+0

Я восстанавливаю файл резервной копии на поврежденной базе данных. Теперь это происходит даже в случае ошибки NOMEM. Я хочу это исправить. –

+0

Попробуйте прагму на тестовом дБ. Используйте команду sqlite3. Работайте оттуда, чтобы найти то, что конкретно ведет к неудаче. (Возможно, среда SQLite каким-то образом отключена.) –

ответ

1

Увеличение объема памяти кучи до 1.5M устраняет эту проблему.