轻量级SQL数据库,不需要安装

时间:2008-11-07 05:39:22

标签: sql .net database ms-access

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

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

7 个答案:

答案 0 :(得分:26)

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

.NET有很多wrappers

答案 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主题。

http://www.vistadb.net

答案 4 :(得分:3)

SQLite很棒。

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

答案 5 :(得分:3)

您可以将数据存储为JSON文件。如果您需要它是独立的,那么有IODBLiteDB

等dll解决方案

答案 6 :(得分:2)

SQLite将是您的目标