【问题标题】:App is crashing due to the SQLite error code:11由于 SQLite 错误代码,应用程序崩溃:11
【发布时间】:2012-08-17 14:12:12
【问题描述】:

我的应用程序第一次或第二次崩溃并出现错误“abc.sqlite 已损坏。SQLite 错误代码:11,'数据库磁盘映像格式错误',NSSQLiteErrorDomain=11” 我无法追踪它。任何人请帮助

谢谢

【问题讨论】:

  • 可能 abc.sqlite 已损坏。它是如何创建的或文件来自哪里?您是如何将其复制到您的应用程序的?
  • Phillippe 询问是因为您可以在SQLite Result Codes 页面上查看错误代码。错误 11 是 #define SQLITE_CORRUPT 11 /* The database disk image is malformed */
  • 重新创建数据库并重试。
  • 我自己解决了。应用程序崩溃了,因为它在不同的线程上加载,并且应用程序在安装数据库之前开始检索数据。
  • @nikhil 如果您自己解决了问题,您应该将您的解决方案发布为新答案并将其标记为已接受的答案

标签: objective-c ios5 ios5.1


【解决方案1】:

(取自上述cmets之一)

应用程序崩溃了,因为它在不同的线程上加载,应用程序甚至在安装数据库之前就尝试检索数据。

【讨论】:

    【解决方案2】:

    这不完全正确,我今天在我的 iphone 上遇到了同样的问题,连接到 macbook 并使用 xcode 将 db 从 iphone 带到 macbook。我使用 SQLite DB 浏览器,运行 PRAGMA 完整性检查,它在代码为 11 的页面之一上显示错误。幸运的是,我的表只有 10 条记录。奇怪的是当我运行“select * from tableA”时,只返回 3 条记录。我能够通过重新编号某些记录 ID 意外修复数据库,在保存更改时,那些丢失的记录神秘地显示出来......而损坏的记录消失了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-04
      • 1970-01-01
      • 2021-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多