我正在使用sqlite3数据库进行内部数据存储。我将在应用程序开始时打开数据库,只有数据库将在应用程序结束时关闭。在操作过程中,如果数据库损坏,我将如何知道我的数据库损坏。
在我的应用程序运行期间,我手动损坏了.db文件并检查了响应,我得到 SQLITE_READONLY 错误。
但是一旦我关闭并再次打开数据库,这次执行了一次查询,我得到了正确的 SQLITE_CORRUPT 错误。
任何人都可以帮助我,如何在不关闭的情况下找到数据库损坏并再次打开数据库.. ???
我使用c语言进行编码。
答案 0 :(得分:0)
要尝试查找损坏,您可以运行PRAGMA integrity_check或PRAGMA quick_check。但是,损坏的数据可能看起来像真实数据,因此无法保证可以找到损坏。
如果可能的话,您应该使用工作硬件/软件来防止首先发生腐败。