使用 Xamarin.Android,我尝试使用 Mono.Data.Sqlite 包(使用 Nexus 7)使用 sqlite 数据库。
一切都很好,直到我尝试使用多个线程,然后我得到一个损坏的数据库或锁定数据库的各种异常(这意味着我必须停止并重新启动应用程序才能再次访问数据库)。
按照这里的建议,我尝试在我的应用程序中尽早执行以下代码:
Mono.Data.Sqlite.SqliteConnection.SetConfig (Mono.Data.Sqlite.SQLiteConfig.Serialized);
但我在该行得到一个 Mono.Data.Sqlite.SqliteException 说明:
Library used incorrectly
我已经尝试了 3 个可能的枚举值(单线程、序列化、多线程),结果相同。
这种方法是否有效?
编辑:我修复了我的源代码问题(那些讨厌的无限循环,我永远不会摆脱它......),所以不再需要为我玩线程配置了。
不过,我会将问题留给其他人,因为问题仍然存在,并且已由其他人进行了实验(参见对此答案的评论)