21

我需要在客户端机器上部署一个带有数据库的 WCF 服务。我对 SQL Server Express 感到困惑。我需要验证以下所有内容。

在文件App_Data夹中附加数据库文件时,是否还需要在客户端计算机上安装 SQL Server Express 引擎(Windows 服务)?

有一种称为 SQL Server Express LocalDb的风格。那个不需要引擎(Windows 服务)?但我认为它需要安装 LocalDb 的先决条件。

Localdb 是在 SQL Server 2012 中引入的。SQL Server 2008 没有 localdb。对吗?我在 MS 网站上找不到 2008 版本。

4

1 回答 1

15

我还需要在客户端机器上安装 SQL Server Express 引擎(A win Service)吗?

是的,他们需要为您的应用程序安装它来查询数据库。实在绕不过去。

有一种称为 SQL Express localDb 的风格。那个不需要引擎(赢得服务)?但我认为它需要安装localdb。

是的,您仍然需要在客户端计算机上安装 LocalDB。这样做很容易,但我认为这有点过头了,除非你真的需要为你的 web 服务提供 SQL Server 实例的全部功能。

我强烈建议使用SQL Server Compact Edition而不是 LocalDB - 它执行您正在考虑的角色(您的 WCF 服务可以直接连接到客户端计算机上的数据库文件而无需安装 SQL Server,并且是轻量级的),但是不需要安装(它只是作为 DLL 包含在您的 WCF 应用程序中):

与其他版本的 Microsoft SQL Server 不同,SQL CE 与托管它的应用程序在进程内运行。

用微软自己的话说LocalDB 和 SQLCE 之间的区别

LocalDB 和 SQL Server Compact?

小而简单的数据库、轻量级的安装、连接到数据库文件——这对于任何使用 SQL Server Compact 的开发人员来说听起来都很熟悉。相似之处并非偶然,因为我们对 LocalDB 的目标是像 SQL Server Compact 一样易于使用(同时与 SQL Express 一样强大且与完整的 SQL Server 兼容)。

LocalDB 和 SQL Server Compact 之间存在显着差异:

执行模式:SQL Server Compact 是一个进程内 DLL,而 LocalDB 作为一个单独的进程运行。

SQL Server CE 有点像 MS Access 的更新版本,该文件随应用程序一起“直接连接”到数据库文件而不涉及任何数据库服务器安装,其语法/功能非常接近 SQL Server 标准。

于 2013-07-09T12:41:40.090 回答