ASP.NET 2.0的功能非常強大,對於網站開發人員的生產力有大大的提昇(其實我也是這幾天才因為趕case的壓力才體會到XD)。由於最近在開發的網站要求相當簡單,只需要簡單的使用者註冊、驗證功能,並且可以讓user上傳檔案即可,因此整個網站我完全依賴ASP.NET 2.0所提供的架構,大幅縮短了網站開發的時間。

這次的case是我首次嘗試使用ASP.NET 2.0來開發網站,一開始還有點卡手卡腳的,後來漸漸上手(其實也不過是一兩個小時的事情,真的很容易學。),也在摸索的過程中發現網路上有不少人對於Login控制項無法連結外部的資料庫感到困擾,其實ASP.NET 2.0有提供一套不錯的solution,在此分享一下我的心得。(個人習慣是Step by step寫文章,如果你靠Google找到這裡來就幾乎可以獲得完整解答,才不用跑去別的站繼續找XD)

以下分為新手上路、設定資料庫以及設定Web.Config。(我廢話真的很多orz...)

新手上路

  1. 首先建立新網站之後都會有一個預設的基本目錄結構。
  2. 在頁面新增一個Login控制項。
  3. 開啟Login控制項的SmartTag並選擇Administrater Website(管理網站)。
  4. 初次進入管理網站會出現如下畫面:(此時Visual Studio會開始建置ASPNETDB.MDF作為管理網站的資料庫。)
  5. 通常我都不管它,直接把IE關掉回到Visual Studio繼續開發網站,可以發現目錄結構裡面多了一個資料庫的檔案。

到這個階段已經可以使用內建的CreateUserWizard來建立新使用者了,所有的動作都是連到剛剛開啟的資料庫來進行,接下來才是本篇真正的重點:如何設定外連資料庫?

設定資料庫

實務上網站跟資料庫通常是分成兩台不同的主機,所以這篇應該滿實用的吧XD可能是我Google功力不夠,網路上找到的solution沒一個我滿意的orz

  1. 執行ASP.NET 2.0的SQL Server設定精靈,路徑如下。
    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe
  2. 按下一步,會有兩個選項分別是設定新資料庫以及移除資料庫。在此選擇設定新資料庫,接下來設定SQL Server的基本資料。(我事先已經開好了一個新的Database給網站用。)
  3. 接下來我懶得抓畫面了,反正精靈會替你完成一切。

設定Web.Config

上一個步驟是把資料庫開好,最後則是要告訴ASP.NET去哪抓你的資料,因此我們必須設定Web.Config。

請在Web.Config加入下列connectionString:

<connectionStrings>
<remove name="LocalSqlServer" />
<add name="LocalSqlServer" connectionString="Data Source=主機的IP;Initial Catalog=資料庫的名稱;user id=使用者ID;password=使用者密碼"
providerName="System.Data.SqlClient" />
</connectionStrings>

其實就這麼簡單,先remove server globar configuration,再自訂一個新的connectionString。我想或許很多人不知道有SQL Server設定精靈這個好用的工具,在此獻給跟我一樣不太會使用Google找到正確答案的朋友們。