2011-04-26 91 views
6

我正在嘗試創建一個應用程序,該應用程序使用本地.mdf數據庫文件(未附加到sql服務器)。 Visual Studio說我必須先安裝SQL Server Express。 我想知道如何將應用程序部署到客戶端。他們是否也需要安裝SQL Server Express?如何部署.mdf文件

非常感謝

+0

MDB =的MS Access/SQL Server使用.mdf/.ndf/.ldf - 那麼現在是什麼? – 2011-04-26 20:26:49

回答

4

他們需要安裝SQL Server Express。安裝完成後,您需要將數據庫文件(.mdf)附加到服務器上。

+1

感謝您的回答。我不想將它附加到服務器上。我只想讓它獨立。這是否需要安裝sql express,因爲我不希望我的客戶端安裝它。 – Frank 2011-04-26 19:21:23

+3

是的。必須將.mdf文件附加到SQL Server實例才能使用。如果這不是一個選項,請調查SQL Server Compact Edition。此服務器的文件具有.sdf擴展名。我不知道您使用的是什麼編程語言,但如果它是.NET的一種風格,SQL Server CE可以嵌入到您的應用程序中,並且不需要獨立的服務器。 – Nik 2011-04-26 19:41:28

+0

如果您希望自己的數據庫是獨立的並且不需要服務器,請使用MS Access(\ *。mdb/\ *。accdb)或SQLite數據庫。如果您需要使用用戶名和密碼保護您的數據庫,請使用Access。 – 2015-10-02 17:38:07

4

不要部署MDF。讓應用程序使用部署腳本並運行創建數據庫的腳本以及創建數據庫中所有對象的腳本。部署二進制文件(.MDF)的問題是您無法升級它。來1.1版的應用程序,你將面臨如何部署你的密度板的困境,但保存你的用戶保存在舊的.MDF中的所有數據。這不是一個微不足道的問題。 Red Gate試圖推動其使用差異工具的contiguous integration solution生成維護/升級腳本。微軟正在推出數據庫項目,該項目的工作基於vsdbcmd工具所做的差異比較。我不是基於差異化工具的粉絲,他們很容易做出錯誤的決定,我更喜歡explicit upgrade scripts

在解決方案資源管理
+0

你說得對,工具可以做出糟糕的決定,因爲他們不會再猜測用戶的意圖。在Red Gate,我們即將在SQL Compare中添加一項新功能,該功能允許用戶自定義遷移腳本並將其保存爲在跨越相同數據庫版本的未來遷移中重用。有關更多信息,請聯繫red-gate.com上的david.atkinson。 – 2011-04-26 22:40:20

+2

是否有理由不在初始安裝時部署mdf,然後使用腳本進行升級? – 2012-05-09 15:42:54

+0

您依賴於正確的版本,然後 - 使用初始腳本,該版本可以在客戶端使用的任何版本上工作(當然,取決於您使用的任何版本特定功能)。 – 2012-05-31 18:28:56

0

右鍵點擊你的項目

然後在新項目

然後選擇服務基於數據庫

創建一個數據庫,並使用它