如何查找sql​​ite3数据库损坏?

时间:2018-02-22 11:17:17

标签: c linux database sqlite

我正在使用sqlite3数据库进行内部数据存储。我将在应用程序开始时打开数据库,只有数据库将在应用程序结束时关闭。在操作过程中,如果数据库损坏,我将如何知道我的数据库损坏。

在我的应用程序运行期间,我手动损坏了.db文件并检查了响应,我得到 SQLITE_READONLY 错误。

但是一旦我关闭并再次打开数据库,这次执行了一次查询,我得到了正确的 SQLITE_CORRUPT 错误。

任何人都可以帮助我,如何在不关闭的情况下找到数据库损坏并再次打开数据库.. ???

我使用c语言进行编码。

1 个答案:

答案 0 :(得分:0)

要尝试查找损坏,您可以运行PRAGMA integrity_checkPRAGMA quick_check。但是,损坏的数据可能看起来像真实数据,因此无法保证可以找到损坏。

如果可能的话,您应该使用工作硬件/软件来防止首先发生腐败。