用于Windows应用程序(WPF)的独立数据库

时间:2011-03-23 22:29:46

标签: sql-server wpf database ms-access

我创建了一个简单的(商业)WPF应用程序,并希望将其与可以安装在客户本地计算机上的数据库一起分发。

哪种数据库最好用?

我正在考虑SQL Server Epress Edition 2008.我知道10 GB的限制,但这已经足够了,没有问题。

我唯一没有选择100%Express的是因为我不知道如何让我的客户备份数据库。

我的同事一直告诉我使用MS Access,但我不知道这是不是一个好选择,因为我想使用存储过程和视图。

请让我知道你在用什么,或者你可以告诉我......

4 个答案:

答案 0 :(得分:6)

SQLite是一个很好的选择。有一个由System.Data.SQLite

开发的ADO.NET提供程序

还有一个体面的,免费的SQLite编辑器:SQLite Administrator

备份就像复制SQLite db文件一样简单。真。

答案 1 :(得分:5)

估算的数据量是多少?

对于小型数据库,SQLite可能是一个不错的选择 - 它轻巧,快速,开源并且不需要额外的软件。如果你需要,它甚至支持加密。

备份非常简单,因为SQLite数据库由单个文件组成。


  

Ruutert:数据库大小高达500 MB:

对于SQLite来说,这个大小应该没问题。我们使用高达数GB的数据库。只有大数据库的问题是,真空(如reorg / compress未使用的空间)需要的时间越长,数据库就越大(但对于其他数据库类型则相同)


  

Ruutert:SQLite的缺点?

您可能会遇到高并发(许多并行数据库访问)的问题。如果您的工作负载是如此,那么我会考虑面向客户端 - 服务器的数据库管理器,您考虑将数据库管理器移动到另一台服务器 - 从应用程序服务器分离。

但是当您考虑使用功能有限的SQL Server Express或MS-Access时,这应该不是问题。另一方面,你的优点是你只需要一个小的dll(或者将它静态编译成你自己的一个),而不是安装一个完整的数据库管理器。

答案 2 :(得分:4)

嵌入式数据库(如SQLite,其他人已经提到过)已经成为您的正确选择。

既然你正在使用.net,那么微软的SQL Server Compact怎么样呢? (也是一个嵌入式数据库)

答案 3 :(得分:3)

SQL-CE不包含存储过程。

SQLite通常是被选中的。但是,还有VistaDB

您可以随时查看NoSQL或OO数据库:

请注意,其中一些可能需要单独的DLL才能在.NET代码中公开提供程序。