276.數據庫的鏈接方式

1.簡介

1.1ODBC數據庫接口

ODBC即開放式數據庫互連(Open DataBase Connectivity),是微軟公司推出的一種實現應用程序和關係數據庫之間通訊的接口標準。符合標準的數據庫就能夠經過SQL語言編寫的命令對數據庫進行操做,但只針對關係數據庫。目前全部的關係數據庫都符合該標準(如SQL Server,Oracle,Access,Excel等)。
ODBC本質上是一組數據庫訪問API(應用程序編程接口),它由一組函數調用組成,核心是SQL語句,其結構如圖1.8所示。數據庫

 

圖1.8 ODBC數據庫接口編程

 

1.2OLE DB數據庫接口

OLE DB即數據庫連接和嵌入對象(Object Linking and EMBedding DataBase)。OLE DB是微軟提出的基於COM思想且面向對象的一種技術標準,其目的是提供一種統一的數據訪問接口來訪問各類數據源。
這裏所說的「數據」除了標準的關係型數據庫中的數據以外,還包括郵件數據、Web上的文本或圖形、目錄服務(Directory Services)、主機系統中的文件和地理數據以及自定義業務對象等。
OLE DB標準的核心內容就是,提供一種相同的訪問接口,使得數據的使用者(應用程序)可使用一樣的方法訪問各類數據,而不用考慮數據的具體存儲地點、格式或類型,其結構如圖1.9所示。瀏覽器

 

圖1.9 OLE DB數據庫接口服務器

 

 

 

 

1.3ADO數據庫接口

ADO(ActiveX Data Objects)是微軟公司開發的基於COM的數據庫應用程序接口,經過ADO鏈接數據庫,能夠靈活地操做數據庫中的數據。
圖1.10所示爲應用程序經過ADO訪問SQL Server數據庫接口。從圖中可看出,使用ADO訪問SQL Server數據庫有兩種途徑:一種是經過ODBC驅動程序,另外一種是經過SQL Server專用的OLE DB Provider,後者有更高的訪問效率。網絡

 ado整合了odbc oledb架構

圖1.10 ADO訪問SQL Server的接口併發

 

 

1.4ADO.NET數據庫接口

ASP.NET使用ADO.NET數據模型。該模型從ADO發展而來,但它不僅是對ADO的改進,而是採用了一種全新的技術。主要表如今如下幾個方面。
(1)ADO.NET 不是採用 ActiveX 技術,而是與.NET框架緊密結合的產物。
(2)ADO.NET 包含對 XML標準的徹底支持,這對於跨平臺交換數據具備重要的意義。
(3)ADO.NET 既能在與數據源鏈接的環境下工做,又能在斷開與數據源鏈接的條件下工做。特別是後者,很是適合於網絡應用的須要。由於在網絡環境下,保持與數據源鏈接,不符合網站的要求,不只效率低,付出的代價高,並且經常會引起多個用戶同時訪問帶來的衝突。所以ADO.NET系統集中主要精力來解決在斷開與數據源鏈接的條件下的數據處理問題。框架

ADO.NET 提供了面向對象的數據庫視圖,而且在ADO.NET 對象中封裝了許多數據庫屬性和關係。最重要的是,ADO.NET 經過多種方式封裝和隱藏了不少數據庫訪問的細節。用戶能夠徹底不知道對象在與 ADO.NET 對象交互,也不用擔憂數據移動到另一個數據庫或者從另外一個數據庫得到數據的細節問題。圖1.11所示爲ADO.NET 架構總覽。ide

 

圖1.11 經過ADO.NET訪問數據庫的接口模型函數

 

 

1.5JDBC數據庫接口

在JDBC API中有兩層接口:應用程序層和驅動程序層,前者使開發人員能夠經過SQL調用數據庫和取得結果,後者處理與具體數據庫驅動程序相關的全部通訊。
使用JDBC接口對數據庫操做有以下優勢:
(1)JDBC API與ODBC十分類似,有利於用戶理解。
(2)使編程人員從複雜的驅動器調用命令和函數中解脫出來,而致力於應用程序功能的實現。
(3)JDBC支持不一樣的關係數據庫,加強了程序的可移植性。
使用JDBC的主要缺點:訪問數據記錄的速度會受到必定影響;此外,JDBC結構中包含了不一樣廠家的產品,這給數據源的更改帶來了較大麻煩。

 


1.6數據庫鏈接池技術

網絡環境下的數據庫應用,因爲用戶衆多,使用傳統的JDBC方式進行數據庫鏈接,系統資源開銷過大,這成爲制約大型企業級應用效率的瓶頸,而採用數據庫鏈接池技術對數據庫鏈接進行管理,能夠大大提升系統的效率和穩定性。

 

 

2.模式

2.1客戶-服務器(C/S)模式應用系統

對於通常的數據庫應用系統,除了數據庫管理系統外,須要設計適合普通人員操做數據庫的界面。目前,流行的開發數據庫界面的工具主要包括Visual BASIC、Visual C++、Visual FoxPro、Delphi、PowerBuilder等。數據庫應用程序與數據庫、數據庫管理系統之間的關係如圖1.12所示。

 

圖1.12 數據庫應用程序與數據庫、數據庫管理系統之間的關係

 

應用程序和數據庫管理系統能夠運行在同一臺計算機上(單機方式),也能夠運行在網絡方式下。在網絡方式下,數據庫管理系統在網絡上的一臺主機上運行,應用程序能夠在網絡上的多臺主機上運行,即一對多的方式。例如,用Visual Basic開發的客戶-服務器(C/S)模式的學生成績管理系統的學生信息輸入界面如圖1.13所示。

 

圖1.13 C/S模式的學生成績管理系統界面

 

 

2.2 三層客戶-服務器(B/S)模式應用系統

基於Web的數據庫應用採用三層客戶-服務器模式,也稱爲B/S結構。第一層爲瀏覽器,第二層爲Web服務器,第三層爲數據庫服務器。瀏覽器是用戶輸入數據和顯示結果的交互界面。用戶在瀏覽器表單中輸入數據,而後將表單中的數據提交併發送到Web服務器。Web服務器應用程序接收並處理用戶的數據,經過數據庫服務器,從數據庫中查詢須要的數據(或把數據錄入數據庫)並返回給Web服務器。Web服務器再把返回的結果插入HTML頁面,傳送到客戶端,在瀏覽器中顯示出來。三層客戶-服務器結構如圖1.14所示。

 

圖1.14 三層客戶-服務器結構

 

 

例如,用ASP.NET開發的三層客戶-服務器(B/S)模式的學生成績管理系統的學生信息更新頁面如圖1.15所示。

 

圖1.15 B/S模式的學生成績管理系統頁面

 

 

 

相關文章
相關標籤/搜索