#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