2013-07-09 107 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快遞/ –