在ASP.NET開發的網站根目錄,有一個名為web.config的文件,顧名思義,這是為整個網站進行配置的文件,其格式為XML格式。
這裡主要談談文件中的<connectionStrings>節。 <connectionStrings>節是對連接到數據庫的字符串進行配置,由於MS SQL Server與ASP.NET同屬於微軟的產品,因此是使用ASP.NET開發時首選的數據庫是MS SQL Server,本文只討論對MS SQL Server的連接字符串情況。
第一種情況,本地開發時,使用本地數據庫,如下面的代碼
復制代碼 代碼如下:
<connectionStrings>
<add name="myConn"
connectionString ="Data Source=(LocalDB) \v11.0;AttachDbFilename=|DataDirectory| \Movies.mdf;Integrated Security=True" providerName ="System.Data.SqlClient" />
</connectionStrings>
討論:
這是使用PC進行本地開發最常用的數據庫連接字符串使用方式。其中,
name屬性指的是連接字符串名稱,網站中需要使用數據庫時,都需要引用這個連接字符串名稱;本例中為myConn;
Data Source屬性是數據庫服務器,(LocalDB)\V11.0說明使用本地數據庫服務器,版本號為11,即SQL Server 2012;
AttachDbFilename屬性是指定具體數據為名稱及位置,|DataDirectory| 對應ASP.NET網站中的系統目錄App_Data,本屬性值說明連接到本目錄中的名為Movies.mdf數據庫,其中,mdf文件名說明該數據庫需要SQL Server服務器的服務,但它本身是一個獨立的數據庫文件,可以進行復制粘貼而不需要在SQL Server管理系統(如SSMS)進行數據庫分離工作;
Integrated Security=True" 說明是集成驗證,是Windows驗證的方式,只要有這個屬性及屬性值,連接字符串中就不需要用戶名及密碼;
providerName ="System.Data.SqlClient"為數據提供程序
這種情況是本地開發最常用的情況:可以直接使用ASP.NET創建數據庫(擴展名即為.mdf),也可以使用ASP.NET網站配置生成ASPNETDB.MDF數據庫,當數據庫創建完成後,在ASP.NET界面中創建連接字符串,只需要提供連接字符串的名稱,連接字符串的其它屬性及屬性值可以自動在web.config文件中生成。
第二種情況,本地開發時,使用下面的連接字符串:
復制代碼 代碼如下:
<connectionStrings>
<add name="myConn" connectionString="Data Source=|DataDirectory|MvcMusicStore.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
說明:這裡的connectionString屬性比第一種情況簡單,注意這裡的數據庫擴展名 .sdf,這是MS SQL Compact版本的數據庫,它不需要打開SQL Server的服務即可使用,精致小巧,便於使用,但支持性不如.mdf(這個是MS SQL Server標准版文件格式)。因此,在正常的PC機進行開發時,建議使用.mdf文件,如果在機器上沒有MS SQL Server服務運行時,.sdf是一個不錯的選擇。
第三種情況,本地開發時,使用下面代碼:
復制代碼 代碼如下:
<connectionStrings
<add name="DefaultConnection"
connectionString ="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie-
2012213181139;Integrated Security=true" providerName ="System.Data.SqlClient" />
</connectionStrings>
說明:這裡的數據庫名沒有擴展名,說明是由MS SQL Server直接管理的數據庫,不是獨立的數據庫文件(即:如果想復制該數據庫,需要在SQL Server管理工具中分離這個數據庫)。這種連接往往是使用SQL Server創建數據庫,再用ASP.NET創建連接,本地開發時,用的不是很常見。
第四種情況,遠程部署時,可以看到下面的代碼:
復制代碼 代碼如下:
<connectionStrings>
<add name="myConn" connectionString="Data Source=服務器名;Initial Catalog=數據庫名;uid=用戶Id;pwd=用戶密碼;"/>
</connectionStrings>
說明:當需要把本地開發完成的ASP.NET網站部署到遠程空間(比如租用空間、比如自己的服務器),開始實際提供網站訪問服務時,則使用這種連接字符串。如果是租用空間,空間提供商會提供服務器名稱,數據庫名稱,用戶名及口令。注意這裡沒有了Integrated Security=true"屬性名及屬性值,所以需要用戶名與密碼。
因此,當在使用連接字符串進行本地開發(往往是本文中第一種方式)完成並測試成功後,需要根據遠程服務器的數據,對連接字符串進行修改再上傳至遠程服務器,才能提供真正的Internet訪問。