我尝试了sqlite,通过使用多线程,只有一个线程可以同时更新db。我需要多线程同时更新数据库。有什么DB能胜任这份工作吗?
ps:我使用delphi6。
我发现sqlite可以支持多线程,
但在我对asgsqlite的测试中,当一个线程插入时,其他线程将无法插入。
我还在测试中。
发布于 2009-04-01 20:03:34
Sqlite在更新时锁定整个数据库(除非自从我上次使用它以来,这种情况已经改变了)。第二个线程不能同时更新数据库(甚至使用完全独立的表)。但是,有一个超时参数,它告诉第二个线程在失败前重试x毫秒。我认为ASqlite在数据库组件中显示了这个参数(我认为我实际上编写了这段代码,全部3行,但这是几年前的事了)。
将超时设置为大于0的值将允许多个线程更新数据库。然而,这可能会对性能产生影响。
发布于 2009-03-31 12:33:38
SQLite可以在多线程环境中使用.
看看此链接。
发布于 2009-03-31 12:43:21
火鸟可以在嵌入式版本中使用,但是在本地使用标准(服务器)安装也没有问题。非常小,易于部署,并发访问。使用Delphi很好,您应该将其作为一种选择来研究。
也见StackOverflow question “在Delphi应用程序中使用哪个嵌入式数据库?”
https://stackoverflow.com/questions/700709
复制相似问题