我有一个桌面应用程序,可以将soap与服务器对话。通信非常慢,所以我想预先下载大量数据并从我的本地数据库查询。我希望这个本地数据在应用程序关闭后继续存在,这样做的最佳方法是什么。 。 。有什么好的产品/例子可以做到这一点。 。我缓存了大约25个表。
答案 0 :(得分:14)
SQLite非常适合这种情况。几年前,我写了一个“智能客户端”应用程序,我在其中维护了一个本地缓存,以便用户仍可以离线使用该应用程序。我使用SQLite并没有问题,它非常小,很快就存在,并且大多数现代ORM都支持它。 (我使用的是NHibernate)
答案 1 :(得分:3)
Berkeley DB是一个很好的独立数据库。您还应该考虑内置于Windows中的ESENT。这是Ayende的write-up。
答案 2 :(得分:2)
H2数据库也可能满足您的需求。 Microsoft提供了SQL Server的紧凑版:SQL Server Mobile Edition。如果您喜欢SQL Server和TSQL,那么这可能是一个不错的选择。
答案 3 :(得分:1)
您可以随时使用Access数据库,通常很容易在.NET应用程序中进行更新,并且不需要在客户端上安装或配置任何服务器。
答案 4 :(得分:0)
考虑使用Firebird,我相信他们也有一个ADO.NET扩展。
答案 5 :(得分:0)
我会考虑SQL Server Express甚至是SQL Server Compact Edition,它运行在各个数据库文件上,比如Access。尽管如此,它仍然是SQL Server。
答案 6 :(得分:0)
您还可以考虑在Sun的Glassfish Java EE服务器中使用的Apache Derby。