我目前正在编写一个使用 sqlite3 与 Windows 系统上的数据库通信的 .dll。
现在,它非常简单,我刚刚编写了一个从数据库中插入和选择的测试程序。
然而,这个问题是我的 dll 将被同一系统上的多个程序使用,每个程序都写入同一个数据库文件。这当然会带来互斥锁问题。
在继续为它编写一个复杂的连接池之前,我想知道 sqlite3 库在多大程度上支持它。根据文档,有诸如“共享缓存”和“无互斥”模式之类的东西,由赋予sqlite3_open_v2
函数的参数指定:http ://www.sqlite.org/c3ref/open.html
我也四处寻找一些 sqlite3 包装器,但我找不到任何适合我的多访问需求的东西。
有没有人有从使用相同 .dll 的多个进程写入 sqlite3 db 文件的经验?或者有没有人使用他们的运气SHARED_CACHES
- 我似乎遇到了各种各样的问题。
任何关于此事的帮助都会很棒,谢谢!
~ 丹