2015-04-20 62 views
0

我有一個使用SQL Server 2008 R2數據庫的C#.NET應用程序。如何將應用程序部署到許多用戶

我沒有問題將實際的應用程序部署到多臺PC上,但是我在部署數據庫時遇到了一個麻煩。該應用程序將被大量用戶使用 - 它可以由任何人下載和安裝。我的問題是應用程序使用連接字符串連接到數據庫。

我該如何將數據庫作爲使用Visual Studio發佈工具進行安裝的一部分,並確保它可以在具有相同連接字符串的任何安裝上工作。

我花了很長時間搜索,並嘗試了很多潛在的解決方案,包括this, however in the latter particular case,應用程序在部署時找不到數據庫。

+1

你希望每個用戶連接到相同的數據基礎還是每個人都有他/她自己的數據庫?在第二種情況下,您應該使用隨應用程序一起提供的數據庫文件,或者如果它不太複雜,可以考慮另一種文件類型,例如xml。 – Sami

+0

@Sami - 我希望每個用戶使用他們自己的數據庫,並以某種方式捆綁它。我已經在上面發佈的鏈接中嘗試瞭解決方案,但它沒有奏效。 – database

+0

請發佈您的連接字符串。 – Sami

回答

0

根據你給定的SQL連接,似乎使用SQL Server Express版本,捆綁Express Edition與您的應用程序,這裏的選項你ARE,

  1. 添加SQL服務器表達版安裝程序在安裝介質,並通過您的安裝程序調用setup.exe
  2. 或者您可以使用Web平臺安裝程序
  3. 或者您可以簡單地檢查您的安裝程序,是否安裝了所需的SQL Server Express Edition,如果沒有,則將消息顯示給用戶即「請安裝Sql Server Express Edition」,並指導他/她可以安裝,例如提供下載鏈接

或者你也可以使用Sql Server Compact Edition這是一個輕量級版本,我認爲只有少數DLL才能在最終用戶的PC上運行。

欲瞭解更多信息:

的SQL Server Express版:

http://blogs.msdn.com/b/user_ed/archive/2012/12/09/how-to-embed-sql-server-express-in-an-application.aspx

SQL Server精簡版:

https://msdn.microsoft.com/en-us/library/aa983326(v=vs.140).aspx

+0

我有SQL Server 2012 Express在我的開發機器上 - 這是否意味着我需要在用戶的PC上安裝相同的版本?我已經在測試用戶的PC上安裝了SQL Server 2012 Express LocalDB,但在嘗試加載應用程序時出現網絡/實例問題。 – database

+0

確保您已正確安裝Sql Server Express Edition,並且您還可以使用Visual Studio或Sql Server Management Studio測試連接。網絡/實例錯誤表明服務沒有運行,或者連接字符串中存在問題 – sallushan

+0

我現在已經刪除了SQL Express LocalDB並嘗試使用SQL Compact方法,但是同樣的事情正在發生。請注意,在我的開發PC上,使用該連接字符串連接到數據庫沒有問題。所以我不認爲問題出在那裏 – database