在ASP.NET開發(fā)的網(wǎng)站根目錄,有一個(gè)名為web.config的文件,顧名思義,這是為整個(gè)網(wǎng)站進(jìn)行配置的文件,其格式為XML格式。
這里主要談?wù)勎募械腸onnectionStrings>節(jié)。 connectionStrings>節(jié)是對(duì)連接到數(shù)據(jù)庫(kù)的字符串進(jìn)行配置,由于MS SQL Server與ASP.NET同屬于微軟的產(chǎn)品,因此是使用ASP.NET開發(fā)時(shí)首選的數(shù)據(jù)庫(kù)是MS SQL Server,本文只討論對(duì)MS SQL Server的連接字符串情況。
第一種情況,本地開發(fā)時(shí),使用本地?cái)?shù)據(jù)庫(kù),如下面的代碼
復(fù)制代碼 代碼如下:
connectionStrings>
add name="myConn"
connectionString ="Data Source=(LocalDB) \v11.0;AttachDbFilename=|DataDirectory| \Movies.mdf;Integrated Security=True" providerName ="System.Data.SqlClient" />
/connectionStrings>
討論:
這是使用PC進(jìn)行本地開發(fā)最常用的數(shù)據(jù)庫(kù)連接字符串使用方式。其中,
name屬性指的是連接字符串名稱,網(wǎng)站中需要使用數(shù)據(jù)庫(kù)時(shí),都需要引用這個(gè)連接字符串名稱;本例中為myConn;
Data Source屬性是數(shù)據(jù)庫(kù)服務(wù)器,(LocalDB)\V11.0說(shuō)明使用本地?cái)?shù)據(jù)庫(kù)服務(wù)器,版本號(hào)為11,即SQL Server 2012;
AttachDbFilename屬性是指定具體數(shù)據(jù)為名稱及位置,|DataDirectory| 對(duì)應(yīng)ASP.NET網(wǎng)站中的系統(tǒng)目錄App_Data,本屬性值說(shuō)明連接到本目錄中的名為Movies.mdf數(shù)據(jù)庫(kù),其中,mdf文件名說(shuō)明該數(shù)據(jù)庫(kù)需要SQL Server服務(wù)器的服務(wù),但它本身是一個(gè)獨(dú)立的數(shù)據(jù)庫(kù)文件,可以進(jìn)行復(fù)制粘貼而不需要在SQL Server管理系統(tǒng)(如SSMS)進(jìn)行數(shù)據(jù)庫(kù)分離工作;
Integrated Security=True" 說(shuō)明是集成驗(yàn)證,是Windows驗(yàn)證的方式,只要有這個(gè)屬性及屬性值,連接字符串中就不需要用戶名及密碼;
providerName ="System.Data.SqlClient"為數(shù)據(jù)提供程序
這種情況是本地開發(fā)最常用的情況:可以直接使用ASP.NET創(chuàng)建數(shù)據(jù)庫(kù)(擴(kuò)展名即為.mdf),也可以使用ASP.NET網(wǎng)站配置生成ASPNETDB.MDF數(shù)據(jù)庫(kù),當(dāng)數(shù)據(jù)庫(kù)創(chuàng)建完成后,在ASP.NET界面中創(chuàng)建連接字符串,只需要提供連接字符串的名稱,連接字符串的其它屬性及屬性值可以自動(dòng)在web.config文件中生成。
第二種情況,本地開發(fā)時(shí),使用下面的連接字符串:
復(fù)制代碼 代碼如下:
connectionStrings>
add name="myConn" connectionString="Data Source=|DataDirectory|MvcMusicStore.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
/connectionStrings>
說(shuō)明:這里的connectionString屬性比第一種情況簡(jiǎn)單,注意這里的數(shù)據(jù)庫(kù)擴(kuò)展名 .sdf,這是MS SQL Compact版本的數(shù)據(jù)庫(kù),它不需要打開SQL Server的服務(wù)即可使用,精致小巧,便于使用,但支持性不如.mdf(這個(gè)是MS SQL Server標(biāo)準(zhǔn)版文件格式)。因此,在正常的PC機(jī)進(jìn)行開發(fā)時(shí),建議使用.mdf文件,如果在機(jī)器上沒有MS SQL Server服務(wù)運(yùn)行時(shí),.sdf是一個(gè)不錯(cuò)的選擇。
第三種情況,本地開發(fā)時(shí),使用下面代碼:
復(fù)制代碼 代碼如下:
connectionStrings
add name="DefaultConnection"
connectionString ="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie-
2012213181139;Integrated Security=true" providerName ="System.Data.SqlClient" />
/connectionStrings>
說(shuō)明:這里的數(shù)據(jù)庫(kù)名沒有擴(kuò)展名,說(shuō)明是由MS SQL Server直接管理的數(shù)據(jù)庫(kù),不是獨(dú)立的數(shù)據(jù)庫(kù)文件(即:如果想復(fù)制該數(shù)據(jù)庫(kù),需要在SQL Server管理工具中分離這個(gè)數(shù)據(jù)庫(kù))。這種連接往往是使用SQL Server創(chuàng)建數(shù)據(jù)庫(kù),再用ASP.NET創(chuàng)建連接,本地開發(fā)時(shí),用的不是很常見。
第四種情況,遠(yuǎn)程部署時(shí),可以看到下面的代碼:
復(fù)制代碼 代碼如下:
connectionStrings>
add name="myConn" connectionString="Data Source=服務(wù)器名;Initial Catalog=數(shù)據(jù)庫(kù)名;uid=用戶Id;pwd=用戶密碼;"/>
/connectionStrings>
說(shuō)明:當(dāng)需要把本地開發(fā)完成的ASP.NET網(wǎng)站部署到遠(yuǎn)程空間(比如租用空間、比如自己的服務(wù)器),開始實(shí)際提供網(wǎng)站訪問服務(wù)時(shí),則使用這種連接字符串。如果是租用空間,空間提供商會(huì)提供服務(wù)器名稱,數(shù)據(jù)庫(kù)名稱,用戶名及口令。注意這里沒有了Integrated Security=true"屬性名及屬性值,所以需要用戶名與密碼。
因此,當(dāng)在使用連接字符串進(jìn)行本地開發(fā)(往往是本文中第一種方式)完成并測(cè)試成功后,需要根據(jù)遠(yuǎn)程服務(wù)器的數(shù)據(jù),對(duì)連接字符串進(jìn)行修改再上傳至遠(yuǎn)程服務(wù)器,才能提供真正的Internet訪問。
您可能感興趣的文章:- asp.net連接查詢SQL數(shù)據(jù)庫(kù)并把結(jié)果顯示在網(wǎng)頁(yè)上(2種方法)
- ASP.NET 6種常用數(shù)據(jù)庫(kù)的連接方法
- ASP.NET2.0 SQL Server數(shù)據(jù)庫(kù)連接詳解
- ASP.NET連接數(shù)據(jù)庫(kù)并獲取數(shù)據(jù)方法總結(jié)
- ASP.NET連接MySql數(shù)據(jù)庫(kù)的2個(gè)方法及示例
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net連接數(shù)據(jù)庫(kù) 增加,修改,刪除,查詢代碼
- ASP.NET 連接ACCESS數(shù)據(jù)庫(kù)的簡(jiǎn)單方法
- ASP.NET連接 Access數(shù)據(jù)庫(kù)的幾種方法
- ASP.NET WebAPI連接數(shù)據(jù)庫(kù)的方法