【发布时间】:2010-09-21 05:48:55
【问题描述】:
您能否推荐一个轻量级的 SQL 数据库,该数据库不需要安装在客户端计算机上即可工作,并且可以从 .NET 应用程序轻松访问?只需要基本的 SQL 功能。
现在我在简单的项目中使用 Access 数据库并将 .MDB 和 .EXE 文件一起分发。寻找任何替代方案。
【问题讨论】:
标签: sql .net database ms-access
您能否推荐一个轻量级的 SQL 数据库,该数据库不需要安装在客户端计算机上即可工作,并且可以从 .NET 应用程序轻松访问?只需要基本的 SQL 功能。
现在我在简单的项目中使用 Access 数据库并将 .MDB 和 .EXE 文件一起分发。寻找任何替代方案。
【问题讨论】:
标签: sql .net database ms-access
SQLite 将是你所追求的
【讨论】:
SQL Server 3.5/2008 Compact Edition 怎么样?简洁的 SQL Server 嵌入式版本。
http://www.microsoft.com/Sqlserver/2008/en/us/compact.aspx
与 .NET 配合得非常好,当然所有常规 SQL Server 工具和脚本都可以正常工作。
【讨论】:
如果您使用 .NET 编写代码,可以查看 VistaDB。它是 100% 托管代码,包含真正的引用完整性、tsql 存储过程、clr 过程等等,您可以在单个程序集中进行 xcopy 部署。
VistaDB 在中等信任的共享托管 asp.net 站点中运行,并在活动目录域中作为访客(无本地权限)运行。
在您部署引擎的机器上不需要注册表或其他配置设置,并且运行时是免版税的。
32/64 位支持包含在单个程序集中。具有非托管代码的混合模式引擎通常需要您提供超过 1 个版本的非托管代码以支持 32 位和 64 位,或者针对特定的 CPU 目标重新编译。
有关更多信息,请参阅Advantages of VistaDB SO 线程。
【讨论】:
取决于您所说的轻量级。拉姆容易吗?还是更轻的 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 将是我的第二选择。
简而言之,每个都有其优点和缺点。再说一次,我的咆哮是有一点点的,这只是我的个人经历。
【讨论】: