【问题标题】:database becomes read-only/Corrupted数据库变为只读/损坏
【发布时间】:2018-10-27 06:07:47
【问题描述】:

在我们的应用程序中,我们一直在使用 db3 格式的加密 sqlite 数据库,该数据库从服务器下载,然后在上传处理后再次使用。该应用程序已上线,并被多个用户使用。 有时,在一个或两个实例中非常间歇地,数据库会损坏。用户必须丢弃整个应用程序并重新安装才能工作,从而导致数据丢失。 只有在代码中的任何位置都没有写入 drop table 命令时,我们才能检测到其中一个表从数据库中丢失。

以前有人遇到过这种情况吗?知道为什么会这样吗?

请注意:该应用程序是用 Objective C 编写的 iPad 应用程序。

【问题讨论】:

    标签: ios objective-c sqlite


    【解决方案1】:

    主要原因之一: iDevices 在真正没电之前就关闭了很长时间。在您的设备关闭之前,您的应用程序会收到通知,它会进入后台,然后会收到通知,它会退出。如果您正确处理这两个通知(即关闭所有 SQLite 连接之一),那么您应该不会遇到数据库损坏。

    【讨论】:

    • 感谢 Bhushan。我会检查代表是否得到妥善处理。但我不确定是不是电源问题,因为即使应用程序崩溃,用户也可以长时间在 ipad 中执行各种任务。
    猜你喜欢
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    • 1970-01-01
    • 2018-11-21
    相关资源
    最近更新 更多