数据库磁盘映像在MonoTouch中格式不正确

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

看来有一个问题是多个线程访问数据库(这发生了很多)。 我已经读了一些关于如何编译数据库的选项(单线程,multithreading,序列化)。 我是否以某种方式指定?

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

你可以告诉sqlite如何处理multithreading。 诀窍是在你的应用程序的早期做(因为一旦sqlite被初始化,它将为时已晚)。

对于SQLite.cs,你可以使用这个代码来做到这一点 。

Mono.Data.Sqlite.dll您可以调用Mono.Data.Sqlite.SqliteConnection.SetConfig (Mono.Data.Sqlite.SQLiteConfig.*); 做同样的事情。

在这两种情况下,有效值(configuration枚举)在这里logging 。