首頁 >後端開發 >C#.Net教程 >ASP.NET web.config中資料庫連接字串connectionStrings節的設定方法

ASP.NET web.config中資料庫連接字串connectionStrings節的設定方法

高洛峰
高洛峰原創
2017-01-13 13:21:351376瀏覽

在ASP.NET開發的網站根目錄,有一個名為web.config的文件,顧名思義,這是為整個網站進行配置的文件,其格式為XML格式。
這裡主要談談文件中的節。 節是將連接到資料庫的字串進行配置,由於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標準版文件格式)。機器上沒有MS SQL Server服務運行時,.sdf是個不錯的選擇。 SQL Server直接管理的資料庫,不是獨立的資料庫檔案(即:如果想要複製這個資料庫,就需要在SQL Server管理工具中分離這個資料庫)。連接,本地開發時,使用的不是很常見。

第四種情況,遠端部署時,可以看到下面的程式碼:

<connectionStrings
<add name="DefaultConnection"
connectionString ="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie-
2012213181139;Integrated Security=true" providerName ="System.Data.SqlClient" />
</connectionStrings>
說明:當需要把本地開發完成的ASP.NET網站部署到遠端空間(例如租用空間、例如自己的伺服器),開始實際提供網站存取服務時,則使用此連接字串。如果是租用空間,空間提供者會提供伺服器名稱,資料庫名稱,使用者名稱及口令。注意這裡沒有了Integrated Security=true"屬性名及屬性值,所以需要使用者名稱與密碼。

因此,當在使用連接字串進行本地開發(往往是本文中第一種方式)完成並測試成功後,需要根據遠端伺服器的數據,對連接字串進行修改再上傳至遠端伺服器,才能提供真正的Internet存取。關注PHP中文網!
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn