2009-03-05 67 views
3

我想找到一種在asp.net安裝過程中創建和填充數據庫的方法。如何創建一個數據庫並在安裝過程中填充它

那麼,什麼我都願意做的是:

  1. 設置
  2. 在創建數據庫填充一些初始數據的數據庫(國家代碼或類似的東西)
  3. 創建配置文件中的適當連接字符串

我使用.NET 3.5和Visual Studio ,而數據庫是SQL Ser ver 2005.

在此先感謝。

回答

3

如果你正在創建一個安裝程序,我確信有一種方法可以在那裏做,但我並不是那麼熟悉。

否則,你可能會做的是以下幾點。

  1. 在Global.asax中添加一個application_start處理程序,檢查有效的連接字符串,如果它不存在,則繼續執行第二步。
  2. 使用默認連接字符串登錄到服務器
  3. 執行所需的腳本以創建所需的數據庫和對象。
  4. 更新與這裏的關鍵是確定了「默認」連接字符串是什麼樣的連接信息

web.config中。可能是第二個配置值。

2

通常,您需要有SQL腳本才能完成此操作。無論如何,我傾向於這樣做,因爲從長遠來看,它使維護和版本化數據庫變得更加容易。

核心思想是,在運行安裝程序時,您將擁有一個自定義操作來執行此腳本。執行你的安裝程序的用戶將需要的權限:

  • 創建數據庫
  • 在新創建的數據庫中創建表和其它數據庫級對象
  • 填充數據

你的腳本將盡管如此,照顧所有這些。您將有一個CREATE DATABASE命令,相應的CREATE SCHEMACREATE TABLECREATE VIEW等命令,然後在構建模式之後,使用適當的INSERT語句來填充數據。

我通常打破這一成多的腳本,但情況因人而異:

  • 創建模式腳本
  • 「通用腳本」(一個爲aspnet_regsql對於Web項目,一個相當於在設立企業圖書館記錄表和進程)
  • 創建存儲過程腳本,如果必要的話(對架構的創建)
  • 填充初始數據腳本之後執行

爲了將來的維護,我創建了升級腳本,其中一個腳本通常處理整個升級過程。

編寫腳本時,請務必在創建對象之前使用適當的安全檢查(IF EXISTS等)。我傾向於使我的交易,以及。

祝你好運!

1

如果你可以使用Linq到SQL,那麼這很容易。
只需將整個數據庫導入Linq to Sql設計器。這將創建描述數據庫中所有對象的對象,包括封裝整個數據庫設置的System.Data.Linq.DataContext派生類。

現在您可以調用DataContext.CreateDatabase()來創建數據庫。

See here more information

相關問題