基于本地文件的SQL Server
本文关键字:SQL Server 文件 于本地 | 更新日期: 2023-09-27 18:12:24
我为一个使用SQL Server作为数据库的客户端编写了一个相当大的c# Winforms应用程序。这最初是为他们内部使用而设计和开发的。他们已经决定,他们想授权给他们的客户一个精简版,以及在内部使用完整版。
虽然精简版将存储的一些数据将通过调用webservice发送到我们的服务器,但需要将大部分数据存储在本地。
我的大部分数据库经验都是使用SQL Server的安装。但是,在这种情况下,理想情况下应该将数据存储在基于本地文件的数据库中(而不需要安装和配置数据库服务器)。他们的客户不太可能有技术头脑,他们只需要一个安装软件的setup.exe,它就可以工作了。我的大部分。net代码使用Linq-to-Sql与数据库通信。
在这种情况下,本地数据库的最佳选择是什么,它应该允许我仍然使用现有的Linq代码?在我看来,您至少有两种选择:
- 使用Microsoft SQL Server Compact Edition (CE)。
- 使用VistaDB。
都是数据库,您不必在目标系统上安装任何东西,只需在应用程序中部署一个(或多个)dll。
数据库是基于文件的。
我有几个实际应用程序运行得很好。
以下是我的优缺点:
SQL CE:
- 来自Microsoft <
- 没有成本/gh>
- t - sql语法
- 似乎支持Linq to SQL
Con SQL CE:
- <
- 没有视图/gh>
- 要部署的几个dll
Pro VistaDB:
- SQL Server兼容语法
- 视图、存储过程等
- 100%托管,无非托管代码
- 单个DLL部署
- 可以被多个用户使用(锁定)
- 似乎支持Linq to SQL(虽然我自己从未使用过)
Con VistaDB:
- <
- 成本钱/gh>
- 性能低于例如Microsoft Access
- 从网络驱动器运行时有些慢