MonoTouch中的数据库磁盘映像格式错误

时间:2012-02-16 08:25:32

标签: ios multithreading sqlite xamarin.ios

我正在使用Monotouch 5开发多线程消息传递应用程序。经过几天的操作后,一些客户收到错误Database disk image is malformed。我正在使用我在互联网上找到的Kueger Systems的SQLite.cs来访问SQLite数据库。

似乎有多个线程访问数据库的问题(发生了很多)。我已经阅读过关于如何编译数据库的选项(单线程,多线程,序列化)。我会以某种方式指定吗?

我想继续从后台线程更新数据库,而不会破坏它。我做错了什么?

1 个答案:

答案 0 :(得分:2)

您可以告诉 sqlite 如何处理多线程。诀窍是在应用程序的早期非常(因为一旦初始化sqlite,改变它就太晚了。)

对于SQLite.cs,您可以使用this代码执行此操作。

Mono.Data.Sqlite.dll中,您可以致电Mono.Data.Sqlite.SqliteConnection.SetConfig (Mono.Data.Sqlite.SQLiteConfig.*);进行同样的操作。

在这两种情况下,有效值(对于配置枚举)都记录在here