Я пытаюсь использовать SQLite во встроенной системе, созданной с использованием MPC5748G (ядро PowerP C), со следующим поведением. SQLite vfs создается поверх ELM Chan FatFS через USB MSD.
Функция открытия SQLite возвращает SQLITE_OK
, и первые операторы вставки 4011 работают без каких-либо проблем.
Однако после вставки 4011 любые команды завершатся неудачно с SQLITE_CORRUPTED
и err_msg = "database disk image is malformed"
.
Я прочитал информацию из https://www.sqlite.org/lockingv3.html#how_to_corrupt и попытался использовать f_syn c до чтения и после операции записи, но безуспешно.
Когда дБ загружен на P C и используется pragma integrity_check
, он вернет эту ошибку: в базе данных main На странице дерева 68 ячейка 0: неверный номер страницы 27656608 Страница 100 никогда не используется
Любые подсказки о том, как найти причину root этого проблема?
РЕДАКТИРОВАТЬ Нет другой задачи, которая могла бы получить доступ к файлу БД или повредить его.
ОБНОВЛЕНИЕ: Я смоделировал то же приложение в Windows среда, с той же (адаптированной VFS) и есть несколько различий в двоичном БД. На рисунках ниже показаны различия.
Что может вызвать это ?
Спасибо,
Редких