在本地使用数据库时应该首选哪个数据库 - Access DB 或 Sql Server DB? [关闭]

Posted

技术标签:

【中文标题】在本地使用数据库时应该首选哪个数据库 - Access DB 或 Sql Server DB? [关闭]【英文标题】:Which database should be preferable when using database locally- Access DB or Sql Server DB? [closed] 【发布时间】:2014-10-29 07:56:38 【问题描述】:

我正在创建一个 Windows 窗体 应用程序。这里我只需要创建一个非常简单的数据库表。一些行将在运行时动态添加到表中。该应用程序将在本地(离线)使用。在这种情况下,哪个数据库更可取 - Microsoft Access DbSql Server Db??

或者没有数据库还有其他更好的解决方案吗??

【问题讨论】:

显然 Sql Server 是更好的选择 你能解释一下为什么吗? @AnikIslamAbhi 您可以使用sql事务,您可以存储大量数据,tsql等在Microsoft Acess中无法使用 嗯,海报提到了“非常简单的表格”和“一些行”要添加。听起来他甚至可能不需要任何数据库开销,但只需一个文件(XML 左右)就足够了。 (p)LINQ 仍然可以轻松访问他的数据... Access 支持事务和回滚。问题可能集中在必须安装整个 sql server 系统才能使用一个简单的小表,这不仅是一个支持问题,而且可能是矫枉过正。我会考虑 SQL 的精简版,因为它是一个基于文件的数据库,与 SQL 服务器兼容。 【参考方案1】:

Microsoft Access Db --> 如果你不需要复杂的操作,不需要函数或在数据库中存储或创建类型,你不需要安装 sql server 运行时。

Sql Server Db --> 如果你想用数据获取所有特性。

希望能帮到你解答

MS 访问

列表项 列表项 列表项 基于文件 免费的可分发运行时(2007 或更高版本) RAD 工具(表单/报表设计器) 使用 Jet SQL 最大文件大小 2GB

SQL Server Express

客户端/服务器模型 免费 没有 RAD 工具 使用 Transact-SQL 最大数据库大小 4GB(SSE R2 为 10GB),最大一个物理 CPU

SQL Server Express vs MS Access

【讨论】:

【参考方案2】:

有一篇不错的文章here

在我的脑海中,这个小建议可能会有所帮助。

考虑到这些 -

    您的数据真的很小吗? 如果它会非常少,data serialization 考虑为简单的 XML 或二进制文件。 对于大量数据,我认为SQL Server 是绝对的选择。 或者,如果您认为它既不大也不小,请尝试SQLite

    您的应用程序将来是否会扩大数据需求? 如果是这样,请尝试坚持SQL相关的解决方案。

但是,您仍然可以在大多数情况下使用 SQL Server。

【讨论】:

【参考方案3】:

我建议你两个都不去。

使用SQLite -Freeware- :

SQLite 是一个软件库,它实现了一个独立的、 无服务器、零配置、事务性 SQL 数据库引擎。 SQLite 是世界上部署最广泛的 SQL 数据库引擎。 SQLite 的源代码在公共领域。

没有复杂的本地安装,也没有开销。每个数据库一个文件。

Nuget 包:LINK

我正在与 DAPPER 合作将它用于像您这样的项目,并且很喜欢它。

看看这个SQLite + Dapper = Simple Data Access Layer

【讨论】:

【参考方案4】:

另一个很好的解决方案是VistaDB

Microsoft has worked hard to make .NET and SQL Server a powerful combination - and VistaDB brings that capability to a small, easy to deploy package. Instead of having to ship a large installation which has to be set up independently for your application to work you can just ship 2 MB of extra assemblies with your .NET application. It's easy to make applications that start with VistaDB and scale up with SQL Server, all from a common codebase.

请注意,相对于 SQL server express\sqlite,VistaDB 不是免费软件

祝你好运!

【讨论】:

以上是关于在本地使用数据库时应该首选哪个数据库 - Access DB 或 Sql Server DB? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

C ++将向量传递给函数:引用与指针,哪个是首选? [复制]

java.io.File 与 java.nio.Files 哪个是新代码中的首选?

我应该使用 301 进行站内重定向吗?

将本地时间转换为用户首选时区,将用户首选时区转换为 GMT

递归与手动堆栈 - 在哪种情况下哪个是首选?

import 和 const 有啥区别,在 commonjs 中哪个是首选