您是否可以推荐一个轻量级的SQL数据库,它不需要在客户端计算机上安装即可运行,并且可以从.NET应用程序轻松访问?只需要基本的SQL功能。
现在我在简单项目中使用Access数据库并将.MDB和.EXE文件一起分发。寻找任何替代方案。
答案 0 :(得分:26)
答案 1 :(得分:23)
取决于你的轻量级意味着什么。拉姆容易吗?还是更轻的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
dbs是1个表,有2列和2行。使用一小撮盐来获取db大小,因为dbs可以随着进一步使用而不同地生长。例如SqlServerCe
虽然最初是64 KB,但在添加几百条记录之后它根本没有增长,而VistaDb
很容易从48增加到72到140 KB。 SQLite在这方面是最好的,从最低点开始,线性增长。
很少有轶事:我使用SqlServerCe的出厂设置表现更好,这意味着它最容易启动而没有任何配置,而我发现Firebird由于缺乏在线资料而难以启动。我能阅读的Firebird拥有最广泛的标准sql兼容性。虽然VistaDb是用完全托管的C#编写的,这意味着它可以与你的应用程序的程序集合并,只有一个文件,但对我来说这似乎是最慢的。总之,考虑到性能,易用性和尺寸,我选择了SQLite。 SqlServerCe将是我的第二选择。
总之,每个人都有其优点和缺点。再一次,用一点点盐来咆哮,这只是我个人的经历。
答案 2 :(得分:4)
SQL Server 3.5 / 2008精简版怎么样?一个整洁的嵌入式SQL Server版本。
http://www.microsoft.com/Sqlserver/2008/en/us/compact.aspx
使用.NET非常好用,当然所有常规的SQL Server工具和脚本都可以正常工作。
答案 3 :(得分:4)
如果您使用.NET编写,可以查看VistaDB。它是100%托管代码,包含真正的引用完整性,tsql存储过程,clr过程,以及更多可以在单个程序集中进行xcopy部署。
VistaDB在中等信任的共享主机asp.net站点中运行,在活动目录域中以guest身份运行(无本地权限)。
在部署引擎的计算机上不需要注册表或其他配置设置,运行时是免版税的。
单个程序集中包含32/64位支持。具有非托管代码的混合模式引擎通常要求您提供超过1个版本的非托管代码以支持32位和64位,或者针对特定CPU目标重新编译。
有关详细信息,请参阅Advantages of VistaDB SO主题。
答案 4 :(得分:3)
答案 5 :(得分:3)
答案 6 :(得分:2)
SQLite将是您的目标