gpt4 book ai didi

c# - Mono.Data.Sqlite.SqliteConnection.SetConfig 抛出一个 Library used incorrectly 异常

转载 作者:太空宇宙 更新时间:2023-11-03 11:16:49 26 4
gpt4 key购买 nike

使用 Xamarin.Android,我尝试使用 Mono.Data.Sqlite 包(使用 Nexus 7)来玩 sqlite 数据库。

一切都很好,直到我尝试使用多线程,然后我遇到了损坏的数据库或锁定数据库的各种异常(这意味着我必须停止并重新启动应用程序才能再次访问数据库)。

推荐here我已尝试在我的应用程序中尽早执行以下代码:

Mono.Data.Sqlite.SqliteConnection.SetConfig (Mono.Data.Sqlite.SQLiteConfig.Serialized);

但是我在该行上得到一个 Mono.Data.Sqlite.SqliteException 声明:

Library used incorrectly

我已经为枚举尝试了 3 个可能的值(单线程、序列化、多线程),结果相同。

这个方法有用吗?


编辑:我修复了我的源问题(那些讨厌的无限循环,我永远不会摆脱它......),所以不需要再为我玩线程配置了。

不过我会把这个问题留给其他人,因为问题仍然存在,并且已经被其他人试验过 (cf the comments on this answer)

最佳答案

就其值(value)而言,我发现 SQLite 在对数据库进行写操作时尝试访问时非常敏感。话虽如此,我并没有写太多反对我的文章。但是我确实想提一下,您可能会幸运地获得可读访问权限和多线程。如果您还没有这样做,我建议使用明确的写/读路径调用它。我在我的代码中使用它来简化,

         protected SQLiteConnection ReadableDB
{
get{return new SQLiteConnection(ReadableDatabase.Path);}
}

protected SQLiteConnection WriteableDB
{
get{return new SQLiteConnection(WritableDatabase.Path);
}

关于c# - Mono.Data.Sqlite.SqliteConnection.SetConfig 抛出一个 Library used incorrectly 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15434777/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com