"Data Source=:memory:",
并希望在多线程之间访问此数据库.
现在我要做的是克隆sqliteConnection对象并将副本传递给工作线程.
但我发现不同的线程实际上获得了内存数据库的单个实例,而不是共享实例.如何在线程之间共享一个内存数据库?
谢谢!
解决方法 基于用于内存数据库的sqlite documentation,我将尝试使用URI文件名约定文件:: memory:?cache = shared等命名的数据源,而不是:memory :(并特别注意所有连接所在的缓存名称)告诉使用).正如页面上所解释的那样,a:memory:的每个实例都是彼此不同的,正如你所发现的那样.请注意,在与内存数据库建立连接之前,您可能还必须首先启用共享缓存模式(如shared cache documentation中所指定的,调用sqlite3_enable_shared_cache(int)以使其工作.
总结以上是内存溢出为你收集整理的System.Data.SQLite内存数据库多线程全部内容,希望文章能够帮你解决System.Data.SQLite内存数据库多线程所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)