基于本地文件的SQL Server

本文关键字:SQL Server 文件 于本地 | 更新日期: 2023-09-27 18:12:24

我为一个使用SQL Server作为数据库的客户端编写了一个相当大的c# Winforms应用程序。这最初是为他们内部使用而设计和开发的。他们已经决定,他们想授权给他们的客户一个精简版,以及在内部使用完整版。

虽然精简版将存储的一些数据将通过调用webservice发送到我们的服务器,但需要将大部分数据存储在本地。

我的大部分数据库经验都是使用SQL Server的安装。但是,在这种情况下,理想情况下应该将数据存储在基于本地文件的数据库中(而不需要安装和配置数据库服务器)。他们的客户不太可能有技术头脑,他们只需要一个安装软件的setup.exe,它就可以工作了。

我的大部分。net代码使用Linq-to-Sql与数据库通信。

在这种情况下,本地数据库的最佳选择是什么,它应该允许我仍然使用现有的Linq代码?

基于本地文件的SQL Server

在我看来,您至少有两种选择:

    使用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
  • 从网络驱动器运行时有些慢