2013-07-09 77 views
19

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

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

有一种叫做SQL Server Express的味道LocalDb。那个不需要引擎(Windows服务)?但我认为它需要先安装LocalDb。

Localdb与SQL Server 2012一起推出.SQL Server 2008没有localdb。正确吗?我无法在MS网站上找到2008版。

+0

你说得对,SQL Server LoclalDB是在2012版本中引入的。 –

回答

13

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

是的,他们需要它安装你的应用程序来查询数据库。无法真正解决它。

有一种叫做SQL Express localDb的味道。那一个不需要 一个引擎(win服务)?但我认为它需要localdb的安装 。

是的,你仍然需要在客户机上安装LocalDB。这很容易做,但我认为它是过度杀伤,除非你真的需要为你的web服务的SQL Server实例的全部功能。

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

与Microsoft SQL Server的其他版本,SQL CE运行过程中的 与承载它的应用程序。

在微软自己的话说上differences between LocalDB and SQLCE

的LocalDB和SQL Server Compact?

小而简单的数据库,轻量级的安装,连接到一个 数据库文件 - 这听起来很熟悉任何开发人员使用SQL服务器精简版 。这些相似之处并不是偶然的,因为我们的目标是使LocalDB与SQL Server Compact一样易于使用(虽然功能强大且与SQL Server完全兼容)。

有的LocalDB和SQL Server 紧间显著差异:

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

的SQL Server CE是一种像MS Access的更新版本,该文件与哪个可以“只连接”的数据库文件不涉及任何数据库服务器安装的应用程序,它的语法/功能都非常接近SQL Server标准。

+1

我无法理解为什么开发人员需要将数据库文件放在App_Data文件夹中? – Costa

+4

因为这是Visual Studio项目中App_Data文件夹的显式用途 - 为您的应用程序存储所需的本地文件(在本例中为数据库文件)的非Web可访问位置。 –

+1

我很确定SQL Server精简版已被弃用顺便说一句。请参阅第一个链接的讨论,以及第二个链接中不同版本的差异的更多细节。 http://stackoverflow.com/questions/20363374/is-sql-server-compact-discontinued-from-visual-studio-2013 https://blogs.msdn.microsoft.com/sqlexpress/2011/07/12 /导入-的LocalDB-AN-改进-SQL快递/ –