北京北大青鳥學(xué)校講解:本地和服務(wù)器數(shù)據(jù)庫(kù)

      上一篇文章中,北京北大青鳥學(xué)校學(xué)術(shù)老師介紹了Visual Web Developer和數(shù)據(jù),這篇內(nèi)容將介紹本地和服務(wù)器數(shù)據(jù)庫(kù)。

      北京北大青鳥學(xué)校學(xué)術(shù)老師介紹,我們已經(jīng)熟悉了基于服務(wù)器的數(shù)據(jù)庫(kù)和連接字符串。在這種情況下,數(shù)據(jù)庫(kù)服務(wù)器(例如SQL Server 2005)把數(shù)據(jù)庫(kù)名稱與服務(wù)器所維護(hù)的數(shù)據(jù)庫(kù)文件相關(guān)聯(lián)。我們可以通過(guò)指定服務(wù)器名稱、數(shù)據(jù)庫(kù)名稱和憑證來(lái)連接到基于服務(wù)器的數(shù)據(jù)庫(kù),例如:

      "server=(local)\SQLExpress;database=Pubs;Integrated Security=true"

      但是,北京北大青鳥學(xué)校學(xué)術(shù)老師介紹Visual Studio 2005還支持本地?cái)?shù)據(jù)庫(kù)的概念,它是添加到當(dāng)前Web應(yīng)用程序的App_Data目錄中的一個(gè)文件。在App_Data目錄中存儲(chǔ)數(shù)據(jù)文件是安全的,因?yàn)檫@個(gè)目錄中的內(nèi)容永遠(yuǎn)不會(huì)響應(yīng)用戶的請(qǐng)求。這個(gè)目錄也是存儲(chǔ)XML文件和其它數(shù)據(jù)存儲(chǔ)的推薦位置。本地的SQL Server Express數(shù)據(jù)庫(kù)帶有.MDF擴(kuò)展名(例如"MyDatabase.MDF"),它是SQL Server支持的標(biāo)準(zhǔn)文件格式。當(dāng)連接到服務(wù)器的時(shí)候,數(shù)據(jù)庫(kù)還有一個(gè)關(guān)聯(lián)的日志文件(例如"MyDatabase_log.LDF")。數(shù)據(jù)庫(kù)文件和日志文件的位置必須在一起。

      北京北大青鳥學(xué)校學(xué)術(shù)老師介紹,我們可以通過(guò)使用相對(duì)路徑連接字符串把本地文件數(shù)據(jù)庫(kù)自動(dòng)地附加到SQL Server Express。相對(duì)路徑確保了應(yīng)用程序遷移到任何其它地方的時(shí)候都不會(huì)中斷數(shù)據(jù)庫(kù)連接。Web應(yīng)用程序中的相對(duì)路徑連接字符串如下所示:

      "server=(local)\SQLExpress;AttachDbFileName=|DataDirectory|MyDatabase.mdf;Integrated Security=true;User Instance=true"

      上面的連接字符串還有兩個(gè)額外的屬性。AttachDbFileName屬性指定連接打開(kāi)的時(shí)候動(dòng)態(tài)附加到服務(wù)器上的數(shù)據(jù)庫(kù)文件的位置。盡管這個(gè)屬性可以接受數(shù)據(jù)庫(kù)的完整路徑(例如使用|DataDirectory|語(yǔ)法),但是在運(yùn)行時(shí)這個(gè)路徑會(huì)被應(yīng)用程序的App_Data目錄所代替。這也保證了應(yīng)用程序遷移到其它位置的時(shí)候連接不會(huì)中斷。第二個(gè)屬性是User Instance=true,它指定SQL Server Express附加數(shù)據(jù)庫(kù)的方式。在這種情況下,SQL Server Express為了把數(shù)據(jù)庫(kù)附加到新的實(shí)例,建立一個(gè)新的進(jìn)程,在打開(kāi)連接的用戶身份下運(yùn)行。在ASP.NET應(yīng)用程序中,這個(gè)用戶是本地的ASPNET 帳號(hào)或默認(rèn)的Network Service,這依賴于操作系統(tǒng)。為了安全地附加非系統(tǒng)管理員帳號(hào)(例如ASP.NET帳號(hào))提供的數(shù)據(jù)庫(kù)文件,建立一個(gè)獨(dú)立的SQL Server用戶實(shí)例是必要的。

      北京北大青鳥學(xué)校提醒:由于在默認(rèn)情況下,所有的ASP.NET應(yīng)用程序運(yùn)行在同一個(gè)進(jìn)程下,因此所有的應(yīng)用程序會(huì)把本地?cái)?shù)據(jù)庫(kù)附加到同一個(gè)SQL Server Express實(shí)例。這意味著不管應(yīng)用程序最初附加的數(shù)據(jù)庫(kù)是哪一個(gè),所有的應(yīng)用程序?qū)Ω郊拥竭@個(gè)實(shí)例的所有數(shù)據(jù)庫(kù)都擁有相同的訪問(wèn)權(quán)限。為了隔離不同的應(yīng)用程序,你必須讓每個(gè)應(yīng)用程序運(yùn)行在不同的工作進(jìn)程或應(yīng)用程序池(在IIS 6中)中。由于這個(gè)原因,本地SQL Server數(shù)據(jù)庫(kù)主要是為了方便開(kāi)發(fā),而不是用于代替共享主機(jī)環(huán)境下的基于服務(wù)器的數(shù)據(jù)庫(kù)。

      此外,北京北大青鳥學(xué)校還要提醒一點(diǎn),不允許兩個(gè)用戶同時(shí)連接到一個(gè)本地?cái)?shù)據(jù)庫(kù)。在Visual Studio中設(shè)計(jì)應(yīng)用程序的時(shí)候,設(shè)計(jì)器自動(dòng)地釋放連接,以保證Visual Studio和ASP.NET能夠共享數(shù)據(jù)庫(kù)文件(例如在設(shè)計(jì)器中調(diào)試運(yùn)行中的應(yīng)用程序)。

      北大青鳥網(wǎng)上報(bào)名
      北大青鳥招生簡(jiǎn)章
      主站蜘蛛池模板: 波霸影院一区二区| 无码av中文一区二区三区桃花岛| 高清一区二区三区免费视频| 人妻av无码一区二区三区| 精品一区二区三区四区电影| 国产AV一区二区三区无码野战| 中文字幕AV一区二区三区| 国产午夜精品一区二区三区不卡| 亚洲色偷精品一区二区三区| 精品久久一区二区三区| 视频一区视频二区在线观看| 中文字幕av一区| 无码人妻精品一区二区蜜桃网站| 亚洲视频在线一区二区| 精品亚洲福利一区二区| 学生妹亚洲一区二区| 人妻无码一区二区三区免费| 国产一区二区视频在线观看| 免费无码AV一区二区| 精品女同一区二区三区免费播放| 精品国产日韩亚洲一区在线| 国产一区二区在线观看| 精品一区二区三区无码视频| 福利一区国产原创多挂探花| 中文字幕一区二区三区四区| 熟女少妇精品一区二区| 无码成人一区二区| 天堂一区人妻无码| 国产主播福利精品一区二区| 国偷自产Av一区二区三区吞精| 久久一区二区三区免费| 无码av免费一区二区三区| 激情内射亚洲一区二区三区爱妻| 极品少妇一区二区三区四区| 日本在线观看一区二区三区| 三上悠亚亚洲一区高清| 国产乱码精品一区二区三区麻豆| av无码一区二区三区| 中文字幕一区二区三区人妻少妇| 国产在线一区二区三区av| 一区二区三区亚洲|