Как проверить целостность базы данных sqlite?

#c #database #sqlite

Вопрос:

Я использую sqlite_orm для созданиячтениязаписиобновлениярезервного копированиявосстановления базы данных sqlite во встроенных системах, которые выполняются Ubuntu 16.04 .

Поскольку встроенная система может внезапно отключиться(что находится вне моего контроля. см. Примечание), и приложение может быть выборочно и неожиданно убито или разбито, как я могу проверить целостность базы данных sqlite sqlite_orm при запуске приложения?

Если эта цель не может быть достигнута sqlite_orm , то как это сделать с помощью API-интерфейсов C, предоставляемых в библиотеке sqlite ?

Обновить:

ПРИМЕЧАНИЕ: Оборудование не имеет ИБП или аварийного источника питания.Все, что я могу сделать, — это вовремя создать резервную копию базы данных и проверить ее целостность при запуске приложения.

Комментарии:

1. Проверка целостности PRAGMA

2. @MarkBenningfield Спасибо, но PRAGMA schema.integrity_check , похоже, это не C API.

3. Нет, это команда SQL. Предположительно, вы можете выполнять инструкции SQL для базы данных с помощью API C ??

4. @MarkBenningfield Извините за мой плохой английский. Может быть, я не совсем понимаю тебя. Насколько я вижу, я могу получить доступобновить sqlite базу данных с помощью API-интерфейсов C(например sqlite3_exec() , и sqlite3_prepare_v2() которые можно было бы увидеть в реализации sqlite_orm , и я также мог бы напрямую вызвать их тоже).

5. Хорошо, если под этим вы подразумеваете, что не знаете, как использовать API C, то вам следует прочитать Введение в интерфейс SQLite C