我正在用 C # in 开发一个小应用程序。NET 和我想有一个小的 轻量级数据库轻量级数据库,不使用太多的资源。
你能列出一些 最著名的轻量级数据库软件。
14/06/2016 是的... 仍然得到赞同票:-/
17/03/2014 我仍然收到这个问题的赞扬,请注意这个问题最初被回答的日期。虽然列出的三个主要项目仍然是完全可行的,列表将趋向于变得陈旧。还有一些未列出的可用数据库技术。
你有两个立即被认可的免费选择:
SQLServerCompactdownload 附带了需要在代码中引用的 ADO.NET 提供程序。SQLite 下载可能没有,所以这里有一个链接:
Http://sqlite.phxsoftware.com/
这三种方法都使用 SQL,尽管可能有一些限制/怪癖。ManagementStudio 使用 CompactandLocalDB,而使用 SQLite 则需要另一个 UI 工具,比如 SQLite Administrator:
Http://sqliteadmin.orbmu2k.de/
NoSQL 还有其他选择,比如:
就个人而言,我会避免使用微软访问在面对其他免费选项。使用 LocalDB、 Compactor SQLite 不会出错。它们都是可爱的小型数据库,在小内存中运行速度相对较快——我猜想,在喜欢微软产品的宗教方面,个人偏好如下: -)
我使用 Sterling for Windows Phone 编程,因为它是用独立存储构建的。我只看过关于 RavenDb 的文章,但是我可以告诉你,它是一个基于 JSON 的文档存储框架。
不要混淆这种情况(使用 SQLite、 SQL Server Express 本地数据库(localDB)或 SQL Server CompactEdition) ,但是还有其他的嵌入式/本地数据库,有些是关系型的,有些是面向对象的:
不是所有的都是免费的。SQL/LINQ/in-proc 支持在它们之间都是不同的。这份名单只是出于好奇。
现在也有 Karvonite,但是代码库链接被打破。当它再次上线时,我将会为 WP7的开发研究这一个。
SQL Server Express 或多媒体接达
http://en.wikipedia.org/wiki/NoSQL_(RDBMS)呢?
特别是 MongoDB for. Net
Http://www.mongodb.org/display/docs/home
你可以使用 Sql Server Express Edition作为它的免费和同样强大,直到和除非你想要的功能,如 mirroring等。看看 这个。
Sql Server Express Edition
mirroring
我建议使用 SQLite。我们在我工作的地方开发的几乎所有应用程序都使用它。
又小又紧凑。它确实要求应用程序目录中有一个 DLL,但是您不必安装其他软件,如 Access 或 SQLServer。另外,正如 danielkza 下面所说,“ SQLite 是公共领域,所以您根本不必担心授权问题。”那真的会有很大的不同。
您可以使用与 SQL 或 OleDB 相同的方法在 C # 应用程序中使用 System.Data.SQLite或 CSharp-sqlite来访问它。
您还需要一个应用程序来编辑/管理数据库。我认为最好的是 SQLite Studio。这里还有一些: SQLite 管理 SQLite 2009 Pro (页面底部) 更新-7/25/11-< a href = “ https://stackoverflow. com/questions/1507506/what-are-good-open-source-gui-SQLite-database-manager”> More SQLite apps (questions here on SO)
以下是关于 SQLite 的更多信息: 维基百科上的 SQLite 使用 SQLite 的公司
定制功能: 另外,如果在 SQLite 核心函数中找不到喜欢的函数,可以创建自己的自定义函数。下面是一些例子: 从 SO < br/> 再举个例子
嵌入 的 Firebird 可能是一个不错的选择
嵌入式版本是服务器的一个惊人的变体 功能齐全的 Firebird 服务器只包含几个文件。它非常 易于部署,因为不需要安装服务器。
有一些非常好的 点网驱动程序
我成功地使用了 db4o。 基于文件,大型社区,易于使用。
Http://www.db4o.com/
牌照详情
默认情况下,Free General Public License db4o 是根据 GPL 授权的。 如果您计划在内部使用 db4o 或者您计划在内部使用 db4o,那么 GPL 许可证是理想的 开发和分发你自己的衍生作品作为自由软件 也是 GPL 的一部分。 商业许可证如果您愿意,需要商业许可证 将 db4o 嵌入到商业非 GPL 产品中 获得优质服务和支持。
默认情况下,Free General Public License db4o 是根据 GPL 授权的。
如果您计划在内部使用 db4o 或者您计划在内部使用 db4o,那么 GPL 许可证是理想的 开发和分发你自己的衍生作品作为自由软件 也是 GPL 的一部分。
商业许可证如果您愿意,需要商业许可证 将 db4o 嵌入到商业非 GPL 产品中 获得优质服务和支持。
SQL 服务器紧凑版最好,因为它是免费的,轻的大小和集成良好
如果要使用官方微软解决方案,请使用 SQLServerCompact。这样做的好处是,如果您需要使用 SQL 服务器,可以使用复制。
如果你想要一些非常简单的小和免费的 SQLite。这就是 android 使用的内部数据库,因此它得到了很好的支持。NET 绑定可用。
SQLite 的一个显著优势是它是跨平台的。因此,如果您想将应用程序移植到 Mono.NET,那么就不需要对数据库实现进行任何修改。
我不喜欢这个解决方案的微软访问,但很多人已经包括在他们的答案。由于对专有格式和平台的依赖,它受到了限制。不过它确实有它的优势。如果您有 MS Access 的副本,您可以轻松地操作数据,您可以以图形方式构建查询并创建宏。您可以轻松地将它与其余的 MS Office 集成。
在所有这些 SQLite 中,我建议使用它,因为它是如此紧凑,有良好的文档记录,并且得到了越来越多的开发人员的支持,而不管平台如何。
剪辑
我意识到还有一个选择大家都忘了提
只要不需要关系表,就可以通过 ADO.NET 将 CSV 文件读取为数据集。(比起其他任何建议,更多的是一种诱惑,但在某些情况下是合适的,并且不需要为 MS 部署额外的库。
如果你不需要免费的数据库,VistaDB 是另一个没有被提及的选择。这些都是托管代码,为嵌入式数据库提供了大量的特性,并且提供了非常好的性能。在 SQL CE 和 SQL Server Express 之间架起了一座很好的桥梁,因为你的 VistaDB 大部分存储过程不需要修改 SQL Server Express 就可以运行。我对目前的客户服务也很满意。我工作的时候一直在用。没有服务可以启动。一个空数据库大约有1MB,而且 DLL 也非常轻量级。有 ADO.NET 提供程序之类的东西。我挺喜欢的。
VistaDB
如果您正在构建具有.NET 4.0.2或更高版本的项目并希望获得嵌入式数据库支持,请考虑使用 SQL Server Express 本地数据库。
它是对 Express 系列的一个相对较新的补充,具有较小的安装占用和减少的管理开销(与其他版本的 Express 相比) ,但是它维护了 SQL Server 的可编程性方面。也就是说,与 CompactEdition 不同,LocalDB 不需要安装单独的 ADO.NET 提供程序来与 SQL 通信。
有关详细信息,请参阅以下内容:
SQL Express v LocalDB v SQL CompactEdition (MSDN Blog) SQL LocalDB vs SQL Server CE (堆栈溢出)