2014-10-29 51 views
0

我們計劃在我們公司網絡(位於不同地點)的外部計算機上推送Windows應用程序。我想知道我對數據庫有什麼選擇。我想使用SQL Server,但有沒有辦法避免爲我們加載Windows應用程序的每臺PC支付許可證費用?在WinForm項目和許可選項中放置數據庫

此外,有沒有辦法在部署應用程序時擁有可執行文件的數據部分,還是需要在每臺機器上安裝SQL Server?

謝謝!

+1

您通常在服務器上有一個數據庫,並且有客戶端連接到它。如果您希望每個客戶端擁有自己的數據庫,請查看[SQL Server Compact](http://msdn.microsoft.com/zh-cn/data/ff687142.aspx)。 – PoweredByOrange 2014-10-29 14:49:52

+0

如果您的數據庫不需要大量查詢和多用戶訪問,則可以使用SQLite。它可以嵌入到你的應用程序中。這是免費的。否則,您可以使用軟件安裝來添加SQL Server Express的自動安裝。它可以安靜地安裝,而且你不需要許可證。 – i486 2014-10-29 15:13:31

回答

2

有沒有辦法避免爲我們加載Windows應用程序的每臺PC支付許可證費用?

想必您只是在這些機器上訪問本地數據庫吧?在這種情況下,您可以使用SQL Server Compact。它是免費的,相當不錯。

有沒有辦法在部署應用程序時擁有可執行文件的數據部分?

如果您通過ClickOnce部署您的應用程序,那麼您可以set SQL Server Compact as a prerequisite,這樣應用程序將檢查它的存在並在需要時安裝它。

否則,您可以將其作爲安裝程序包(即InstallShield或WiX)的一部分與其他先決條件一樣推出。

3

作爲Sql Server精簡版的一種替代方法和更新的技術,您可以使用LocalDB

兩者都是MS SQL產品,但LocalDB不具備CE的缺點,仍然是一個基於文件的數據庫,並且不需要服務器安裝,配置和維護,只有運行時組件需要SqlServer Express

Here您可以在Express,Compact和LocalDB 和here之間找到一個很好的比較,您可以找到Microsoft的LocalDB的介紹。

LocalDB的許可與SqlExpress的許可相同,您還需要一個安裝程序來運行LocalDB的運行時組件(與CE相比,這是一個缺點)。