應用程序/MS SQL Server Express 安裝程序
我們正在開發一個收集和儲存數據的小型(ish)應用程序。它是低吞吐量、低容量的,但需要能夠從(幾乎)任意更早的時間存檔和檢索數據,因此決定將數據儲存在 MS SQL Server Express 數據庫中。對於使用者來說,數據庫是不可見的。設置是:
應用程序 - Visual Studio 10(是,10)C#、.NET Framework 4.0
數據庫模式(表、視圖、查詢…)
MS SQL Server 速成版 2008 SP2
MS Visual Studio 生成的安裝程序(不是 Installshield 之一),它…
- 安裝應用程序
- 安裝 .NET 4.0(如果需要)
- 安裝 MS SQL Server Express 2008 SP2
- 不創建實際的數據庫
此時,我們可以使用 MS SQL Management Studio 或 Visual Studio 創建數據庫。但是對於生產部署,必須通過安裝程序或應用程序的啟動功能自動創建數據庫:從全新的 Windows 7 或 Windows 10 安裝開始(我們事先無法使用 PC ),執行安裝程序然後啟動應用程序(例如由我們的服務人員)就足夠了。此外,應用程序不應依賴於登錄 PC 的使用者。
問題:如何使數據庫,err …出現在目標 PC 上?
到目前為止我考慮過的選項:
- 創建數據庫,使數據庫文件成為安裝程序的一部分,將它們複製到正確的 SQL Server 目錄中,希望它能夠辨識它(會嗎?)
- 與上面相同,但將文件安裝到 CommonAppDataFolder 中,並將其附加到 SQL Server。
- 讓應用程序測試數據庫是否存在,如果不存在,則執行 SQL 腳本(由 SSMS 生成,已修改)來創建數據庫(目前已實現)。
你會推薦哪個選項?
創建數據庫,使數據庫文件成為安裝程序的一部分,將它們複製到正確的 SQL Server 目錄中,希望它能夠辨識它(會嗎?)
它不會,之後您必須將數據庫附加到您的伺服器。您可以添加一個 sql 腳本,將文件附加到您的伺服器。
讓應用程序測試數據庫是否存在,如果不存在,則執行 SQL 腳本(由 SSMS 生成,已修改)來創建數據庫(目前已實現)。
這可能是一個不錯的選擇。如果您可以在安裝中執行 .sql 文件,可能會更好,這樣您的應用程序在使用者首次執行時不會有任何延遲。
我也認為這取決於數據庫文件的大小。如果它很大,你可以選擇第一個選項,如果不是,我會使用第二個選項。