【问题标题】:Single-user database options单用户数据库选项
【发布时间】:2009-02-21 11:03:21
【问题描述】:

我将使用 .NET 框架和 C# 编写一个 Windows 应用程序。应用程序将需要存储将被查询、连接和处理的关系数据。

以前我使用 SQL Server 完成了这项工作,但对于我现在正在制作的应用程序来说,这完全是矫枉过正。

在我的应用程序中存储关系数据的最简单、最简单的方法是什么?如果我在 Mac 上,我会使用 SQLite。 .NET 等价物是什么?

【问题讨论】:

    标签: c# .net database data-structures


    【解决方案1】:

    如果您使用的是 VS 2008 和 .NET 3.5,则可以使用 SQL Server Compact Edition。它根本不是真正的服务器,它与您的应用程序一起运行并提供基本的 SQL 数据库。数据库本身是单个 .sdf 文件,并与您的应用程序一起部署。 既然是框架的一部分,也就意味着不需要额外的安装。 实际上,它并不是框架的一部分,但它很容易再分发。我正在将 SQL Server CE 用于我目前正在从事的个人项目,到目前为止效果很好。

    【讨论】:

    • 我必须补充一下——一旦你开始使用 SQLCE,它就是一个 POS。它是有限的,在高负载下它有很大的错误。我什至不想列出过去 4 个月内我使用它时遇到的所有内部错误。遇到这个线程寻找解决方案 OTHER 然后是 SQLCE (3.5)。我建议任何需要可靠的轻量级数据库的人不要使用 CE。我现在要评估一些……但我只是厌倦了 CE 的问题。我把它用作一个临时的地方来保存大量数据,然后再放到最后的休息处……今天——受不了了。只是我的 .02。
    【解决方案2】:

    SQL Server Express 是您想要的。它是免费的 IIRC,可在需要时轻松扩展为成熟的 SQL Server。

    【讨论】:

    • 并且包含在默认的 VS 安装中。
    【解决方案3】:

    为什么不能使用 SQLite?它适用于窗户。 SQLite Quick start

    另请参阅此处以使其与 .NET 一起使用 http://web.archive.org/web/20100208133236/http://www.mikeduncan.com/sqlite-on-dotnet-in-3-mins/

    因此,如果您愿意,您可以使用 SQLite,但也许正如其他人指出的那样,SQL Express 是一个更好的选择,因为您可以在将来需要时升级到完整的服务器。虽然从你写的我不知道这是否可能。

    【讨论】:

    • SQL Lite 与 SQL Server Compact Edition 相比有什么好处吗?
    • TBH 我只玩过少量的 SQLite。我不是优点/缺点方面的专家,但我知道它确实适用于 .NET
    • SQLite 的优势在于您可以将在此项目中使用它的经验应用到未来的 Android 和 iPhone 项目中
    【解决方案4】:

    Sqlite 绝对是应用存储嵌入式数据库的最佳选择。 它是免费的,快速可靠。

    【讨论】:

      【解决方案5】:

      Sql Server 精简版(*.sdf 文件)。对于智能手机来说足够小,但也可以在整个平台上使用。 .net 2 版本称为 Sql Server Mobile。

      Here 是 Compact 和 Express 之间的比较。

      【讨论】:

        【解决方案6】:

        我还没有使用它,但如果我正在制作一个 Windows 应用程序并且需要类似的功能,我会使用已经在每个窗口框上的内置 Windows 数据库。

        http://www.codeplex.com/ManagedEsent

        【讨论】:

          【解决方案7】:

          您可以将 SQL Lite 与 .NET 一起使用。事实上,如果您愿意保留您的代码以便它可以转换为包含大多数 2.0(3.5 即将推出)的单声道,那么您也可以在 Mac 上运行您的代码,如果您坚持使用 SQL Lite:

          http://mono-project.com/Main_Page

          这真的取决于你需要多少爆炸。在这个线程中多次提到的 SQL Express 是 SQL Server。它对完整的 SQL Server 有一些限制,但它是完整的 SQL Server 引擎,因此它不是精简版,除非您认为将数据库限制为 4 GB 会使它变得轻巧。如果您需要更重的服务,例如一些报告、一些消息队列(服务代理),那么 SQL Express 2008 就是您的理想之选。

          对于 MS 世界中的轻量级,您可以使用 SQL Compact。与 SQL Lite 一样,它的范围有限,但您声明您需要一个轻量级数据库。

          如果您真的熟悉 SQL Lite,我认为没有理由不朝这个方向发展。在您的数据库访问之上添加一个工厂,以防万一您改变主意。这样您就不必为了切换数据库而破坏整个应用程序。

          【讨论】:

            【解决方案8】:

            微软 JET 蓝色。

            【讨论】:

              【解决方案9】:

              如果不是 sqlserver express,您可能需要考虑 Microsoft SQL Server Desktop Engine(sqlserver 的缩小版),它在大多数情况下是免费的。或 MySQL,它也是免费的。我更喜欢mysql。

              【讨论】:

              • MySQL 有一些严重的问题在我上次检查时尚未解决。 SQL Server Express(或 MSDE)具有无限优势。
              • MSDE 已被 SQL Server Express 取代。
              • MySQL 仍然需要安装服务器,并且与使用 Express 相比,您在几个方面(工具、成熟功能)处于更糟糕的情况。它会添加负面而没有任何正面。
              【解决方案10】:

              SQLite

              火鸟

              MySQL 嵌入式

              【讨论】:

                【解决方案11】:

                我会说 Microsoft Access。不过你需要许可证...

                【讨论】:

                • Henk,您是否有来自 MS 的参考资料,他们说它已被弃用且不应再使用?
                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2018-08-17
                • 1970-01-01
                • 2015-05-10
                • 2012-10-21
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多