2009-05-04 81 views
1

我有一個ASP.NET MVC應用程序啓動並運行,使用在我的開發機器上運行的SQL Sever express 2005數據庫實例。但是,當應用程序部署到生產環境時,IIS實例和SQL Server實例將位於不同的邏輯機器上。我不知道他們是不同的物理盒子,但我懷疑這一點。如何使用ASP.NET MVC鏈接到遠程數據庫?

生產數據庫服務器目前已經就緒,其上有一個已填充的數據庫。因爲我已經讀取了該實例的訪問權限,所以我想將該項目指向我的開發機器,以確保遠程數據庫連接仍然有效。架構是相同的,顯然,只是位置和內容是不同的。

我目前已將項目鏈接到位於我的開發計算機上的.mdf文件。我需要做什麼更改才能切換到遠程服務器上的數據庫實例?

回答

4

簡單的答案:在web.config中更改數據層(Linq to SQL?)的連接字符串以指向您的進程外數據庫實例。

更詳細地說,以下是我在開發框中將數據庫分離出我的網站所採取的步驟。通過執行以下操作,可以在將其部署到生產環境之前在本地測試雙服務器配置。

  1. Install SQL Server Management Studio
  2. 打開Management Studio並連接到您的本地SQL Server Express instence(typicaly [boxname]/SQLEXPRESS)
  3. 上管理服務器中的數據庫文件夾右鍵單擊並選擇附加...
  4. 在您的項目中找到您的.mdf文件並將其打開。
  5. 將新連接的數據庫重命名爲您要調用的數據庫。
  6. 爲您的IIS應用程序池在數據庫的權限下運行提供任何服務帳戶。首先在頂級安全/登錄文件夾下創建一個帳戶,然後將該帳戶添加到新數據庫的安全/用戶文件夾。對於我的配置,我正在使用NETWORK SERVICE。

現在,您的數據庫作爲獨立數據庫安裝在SQL Server Express中,您可以使用normal SQL Server connection string連接到數據庫。

此時,您的開發環境正在模擬數據庫和IIS進程被拆分的生產環境。您只需將生產中的連接字符串更改爲指向生產數據庫即可。

+0

是的,先生,這是伎倆。我仍然對這個完整的.NET環境感到厭倦,我完全看到這是一個新手級別的問題。無論如何謝謝你的答案:) – 2009-05-04 18:59:08