程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET中利用VWD操作數據庫

ASP.NET中利用VWD操作數據庫

編輯:關於ASP.NET

本文描述Visual Studio 2005中的基於文件的數據庫方式和設計器如何建立和使用這些數據庫,具體內容包括:Visual Web Developer和數據、本地和服務器數據庫,建立本地數據庫、綁定到本地數據庫、部署本地數據庫。

VWD2005中包含了SQL Server 2005 Express Edition,它是SQL Server 2005的一個免費版本,它的目標用戶是那些希望用簡單的數據庫解決方案來建立應用程序的非專業的或狂熱的開發者。由於SQL Server Express支持完整的SQL Server編程模型,例如SQLCLR、T-SQL、存儲過程、視圖、觸發器和XML數據類型,你可以使用SQL Server Express來了解這些技術,並且確保自己的應用程序可以運行在更高層次的平台上(例如SQL Server企業版)。SQL Server Express很容易下載和安裝(它小於36MB),Visual Studio 2005和Visual Web Developer 2005也包括了它。

Visual Studio包含了用於數據庫管理的工具,例如數據庫浏覽器(Database Explorer)和查詢構造器(Query Builder),你可以使用它們來管理SQL Server Express數據庫。Visual Studio還支持一種新的基於文件的數據庫,用於建立SQL Server Express數據庫並把它作為項目的一部分。同時,Visual Studio 2005 和SQL Server 2005 Express為建立和部署數據驅動的Web應用程序提供了完整的解決方案,包括下面一些特性:

◆數據庫項目數據項

◆本地數據庫連接

◆數據庫浏覽器管理

◆相對路徑連接字符串

◆XCopy部署支持

◆集成的調試支持

本文描述Visual Studio 2005中的基於文件的數據庫方式和設計器如何建立和使用這些數據庫。

Visual Web Developer和數據

Visual Web Developer為Web應用程序使用數據庫提供了大量的工具。你可以使用數據庫浏覽器輕易地連接到數據庫並建立或查看數據庫關系圖或大綱(schema)。你還可以使用查詢構造器對話框和查詢結果表格來查詢數據庫和進行數據填充。建立新數據庫(使用本地文件)也是作為項目數據項提供的。

一旦在Visual Web Developer中連接了數據庫,就可以把數據庫表直接拖放到頁面上,以建立數據綁定的GridView控件。Visual Web Developer自動地建立一個關聯的數據源控件,並根據數據表來配置它的選擇、更新、插入和刪除操作。這種快捷操作為你節省了手動建立數據源所需的大量工作,你也可以輕易地根據需要,用適合的數據綁定控件代替GridView。

本地和服務器數據庫

你可能已經熟悉了基於服務器的數據庫和連接字符串。在這種情況下,數據庫服務器(例如SQL Server 2005)把數據庫名稱與服務器所維護的數據庫文件相關聯。你可以通過指定服務器名稱、數據庫名稱和憑證來連接到基於服務器的數據庫,例如:

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

但是,Visual Studio 2005還支持本地數據庫的概念,它是添加到當前Web應用程序的App_Data目錄中的一個文件。在App_Data目錄中存儲數據文件是安全的,因為這個目錄中的內容永遠不會響應用戶的請求。這個目錄也是存儲XML文件和其它數據存儲的推薦位置。本地的SQL Server Express數據庫帶有.MDF擴展名(例如"MyDatabase.MDF"),它是SQL Server支持的標准文件格式。當連接到服務器的時候,數據庫還有一個關聯的日志文件(例如"MyDatabase_log.LDF")。數據庫文件和日志文件的位置必須在一起。

我們可以通過使用相對路徑連接字符串把本地文件數據庫自動地附加到SQL Server Express。相對路徑確保了應用程序遷移到任何其它地方的時候都不會中斷數據庫連接。Web應用程序中的相對路徑連接字符串如下所示:

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

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

請注意:由於在默認情況下,所有的ASP.NET應用程序運行在同一個進程下,因此所有的應用程序會把本地數據庫附加到同一個SQL Server Express實例。這意味著不管應用程序最初附加的數據庫是哪一個,所有的應用程序對附加到這個實例的所有數據庫都擁有相同的訪問權限。為了隔離不同的應用程序,你必須讓每個應用程序運行在不同的工作進程或應用程序池(在IIS 6中)中。由於這個原因,本地SQL Server數據庫主要是為了方便開發,而不是用於代替共享主機環境下的基於服務器的數據庫。

另外一個要點是,不允許兩個用戶同時連接到一個本地數據庫。在Visual Studio中設計應用程序的時候,設計器自動地釋放連接,以保證Visual Studio和ASP.NET能夠共享數據庫文件(例如在設計器中調試運行中的應用程序)。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved