在ASP.NET開發的網站根目錄,有一個名為web.config的文件,顧名思義,這是為整個網站進行配置的文件,其格式為XML格式。
這裡主要談談文件中的
第一種情況,本地開發時,使用本地資料庫,如下面的程式碼
<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>
第四種情況,遠端部署時,可以看到下面的程式碼:
<connectionStrings <add name="DefaultConnection" connectionString ="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie- 2012213181139;Integrated Security=true" providerName ="System.Data.SqlClient" /> </connectionStrings>