【问题标题】:Lightweight SQL database which doesn't require installation [closed]不需要安装的轻量级 SQL 数据库[关闭]
【发布时间】:2010-09-21 05:48:55
【问题描述】:

您能否推荐一个轻量级的 SQL 数据库,该数据库不需要安装在客户端计算机上即可工作,并且可以从 .NET 应用程序轻松访问?只需要基本的 SQL 功能。

现在我在简单的项目中使用 Access 数据库并将 .MDB 和 .EXE 文件一起分发。寻找任何替代方案。

【问题讨论】:

    标签: sql .net database ms-access


    【解决方案1】:

    查看SQLite,它是一个实现自包含、无服务器、零配置、事务性 SQL 数据库引擎的软件库。

    .NET 有很多 wrappers

    【讨论】:

      【解决方案2】:

      SQLite 将是你所追求的

      【讨论】:

        【解决方案3】:

        SQL Server 3.5/2008 Compact Edition 怎么样?简洁的 SQL Server 嵌入式版本。

        http://www.microsoft.com/Sqlserver/2008/en/us/compact.aspx

        与 .NET 配合得非常好,当然所有常规 SQL Server 工具和脚本都可以正常工作。

        【讨论】:

        • 今天试过了。不幸的是,它不支持 Access JET 引擎的视图,但无论如何感谢。
        • 是的,要获得更多成熟的 SQL 功能,需要升级到 Express 和更复杂的安装。 download.microsoft.com/download/e/8/8/…有两个产品的详细对比。
        【解决方案4】:

        SQLite 很棒。

        还可以查看 Firebird 嵌入。如果将来有多个用户需要访问数据库,这可能是一个更好的选择。

        【讨论】:

          【解决方案5】:

          如果您使用 .NET 编写代码,可以查看 VistaDB。它是 100% 托管代码,包含真正的引用完整性、tsql 存储过程、clr 过程等等,您可以在单个程序集中进行 xcopy 部署。

          VistaDB 在中等信任的共享托管 asp.net 站点中运行,并在活动目录域中作为访客(无本地权限)运行。

          在您部署引擎的机器上不需要注册表或其他配置设置,并且运行时是免版税的。

          32/64 位支持包含在单个程序集中。具有非托管代码的混合模式引擎通常需要您提供超过 1 个版本的非托管代码以支持 32 位和 64 位,或者针对特定的 CPU 目标重新编译。

          有关更多信息,请参阅Advantages of VistaDB SO 线程。

          http://www.vistadb.net

          【讨论】:

            【解决方案6】:

            取决于您所说的轻量级。拉姆容易吗?还是更轻的 db 文件?或者更轻的连接器连接到数据库?还是更少的文件?我会比较一下我所知道的:

                                no of files    cumulative size of files    db size
            
            Firebird 2.5             5                6.82 MB               250 KB
            
            SqlServerCe 4            7                2.08 MB               64 KB
            
            Sqlite 3.7.11.0          1                0.83 MB               15 KB
            
            VistaDb 4.3.3.34         1                1.04 MB               48 KB
            
            no of files - includes the .net connector and excludes the db file
            

            数据库是 1 个 2 列 2 行的表。使用少量盐来获取 db 大小,因为 dbs 可能会随着进一步使用而不同地增长。例如 SqlServerCe 虽然最初是 64 KB,但在添加了几百条记录后它根本没有增长,而 VistaDb 很容易从 48 到 72 到 140 KB。 SQLite 在这方面是最好的,从最低点开始线性增长。

            一些轶事:我使用具有出厂设置的 SqlServerCe 获得了更好的性能,这意味着它在没有任何配置的情况下最容易启动,而由于缺乏在线资料,我发现 Firebird 有点难以启动。据我所知,Firebird 具有最广泛的标准 sql 合规性。虽然 VistaDb 是用完全托管的 C# 编写的,这意味着它可以与应用程序的程序集合并以拥有一个文件,但对我来说似乎是最慢的。总之,考虑到性能、易用性和大小,我选择了 SQLite。 SqlServerCe 将是我的第二选择。

            简而言之,每个都有其优点和缺点。再说一次,我的咆哮是有一点点的,这只是我的个人经历。

            【讨论】:

            • 很有用。谢谢!
            【解决方案7】:

            您可以将数据存储为 JSON 文件。如果需要单机,有IODBLiteDB等dll解决方案

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-10-17
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多