專家述說ADO.NET模型使用
是微軟的戰(zhàn)略性的通向不同的數(shù)據(jù)源的低級應(yīng)用程序接口。ADO.NET模型不僅包括微軟資助的標(biāo)準(zhǔn)數(shù)據(jù)接口開放數(shù)據(jù)庫連通性(ODBC)的結(jié)構(gòu)化查詢語言(SQL)能力,還具有面向其他非SQL數(shù)據(jù)類型的通路。
作為微軟的組件對象模型(COM)的一種設(shè)計(jì),OLE DB是一組讀寫數(shù)據(jù)的方法(在過去可能被稱為渠道)。OLD DB中的對象主要包括數(shù)據(jù)源對象、階段對象、命令對象和行組對象。使用OLE DB的應(yīng)用程序會用到如下的請求序列: 初始化OLE 連接到數(shù)據(jù)源、發(fā)出命令、處理結(jié)果、釋放數(shù)據(jù)源對象并停止初始化OLE
Object Linking and Embedding,對象連接與嵌入,簡稱ADO.NET模型。OLE不僅是桌面應(yīng)用程序集成,而且還定義和實(shí)現(xiàn)了一種允許應(yīng)用程序作為軟件“對象”(數(shù)據(jù)集合和操作數(shù)據(jù)的函數(shù))彼此進(jìn)行“連接”的機(jī)制,這種連接機(jī)制和協(xié)議稱為部件對象模型。
OLE 是一種面向?qū)ο蟮募夹g(shù),利用這種技術(shù)可開發(fā)可重復(fù)使用的軟件組件(COM)。 DB(英文全稱data base,數(shù)據(jù)庫)是依照某種數(shù)據(jù)模型組織起來并存放二級存儲器中的數(shù)據(jù)集合。
OLE DB 將傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)劃分為多個(gè)邏輯組件,這些組件之間相對獨(dú)立又相互通信。這種組件模型中的各個(gè)部分被冠以不同的名稱:
數(shù)據(jù)提供者(Data Provider): 提供數(shù)據(jù)存儲的軟件組件,小到普通的文本文件、大到主機(jī)上的復(fù)雜數(shù)據(jù)庫,或者電子郵件存儲,都是數(shù)據(jù)提供者的例子。有的文檔把這些軟件組件的開發(fā)商也稱為數(shù)據(jù)提供者。#t#
數(shù)據(jù)服務(wù)提供者(Data Service Provider):ADO.NET模型位于數(shù)據(jù)提供者之上、從過去的數(shù)據(jù)庫管理系統(tǒng)中分離出來、獨(dú)立運(yùn)行的功能組件,例如查詢處理器和游標(biāo)引擎(Cursor Engine),這些組件使得數(shù)據(jù)提供者提供的數(shù)據(jù)以表狀數(shù)據(jù)(Tabular Data)的形式向外表示(不管真實(shí)的物理數(shù)據(jù)是如何組織和存儲的),并實(shí)現(xiàn)數(shù)據(jù)的查詢和修改功能。SQL Server 7.0 的查詢處理程序就是這種組件的典型例子。
業(yè)務(wù)組件(Business Component): 利用數(shù)據(jù)服務(wù)提供者、專門完成某種特定業(yè)務(wù)信息處理、可以重用的功能組件。分布式數(shù)據(jù)庫應(yīng)用系統(tǒng)中的中間層(Middle-Tier)就是這種組件的典型例子。
數(shù)據(jù)消費(fèi)者(Data Consumer):ADO.NET模型 任何需要訪問數(shù)據(jù)的系統(tǒng)程序或應(yīng)用程序,除了典型的數(shù)據(jù)庫應(yīng)用程序之外,還包括需要訪問各種數(shù)據(jù)源的開發(fā)工具或語言。