OLE DB

OLE-DB的由來(lái)

隨著數(shù)據(jù)源日益復(fù)雜化,現(xiàn)今的應(yīng)用程序很可能需要從不同的數(shù)據(jù)源取得數(shù)據(jù),加以處理,再把處理過的數(shù)據(jù)輸出到另外一個(gè)數(shù)據(jù)源中。更麻煩的是這些數(shù)據(jù)源可能不是傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù),而可能是Excel文件,Email,Internet/Intranet上的電子簽名信息。Microsoft為了讓應(yīng)用程序能夠以統(tǒng)一的方式存取各種不同的數(shù)據(jù)源,在1997年提出了UniversalDataAccess(UDA)架構(gòu)。UDA以COM技術(shù)為核心,協(xié)助程序員存取企業(yè)中各類不同的數(shù)據(jù)源。UDA以O(shè)LE-DB(屬于操作系統(tǒng)層次的軟件)做為技術(shù)的骨架。OLE-DB定義了統(tǒng)一的COM接口做為存取各類異質(zhì)數(shù)據(jù)源的標(biāo)準(zhǔn),并且封裝在一組COM對(duì)象之中。藉由OLE-DB,程序員就可以使用一致的方式來(lái)存取各種數(shù)據(jù)。但仍然OLE-DB是一個(gè)低層次的,利用效率不高。

OLE-DB的介紹

OLE-DB(Object Link and embed 即對(duì)象連接與嵌入)是微軟的戰(zhàn)略性的通向不同的數(shù)據(jù)源的低級(jí)應(yīng)用程序接口。OLE-DB不僅包括微軟資助的標(biāo)準(zhǔn)數(shù)據(jù)接口開放數(shù)據(jù)庫(kù)連通性(ODBC)的結(jié)構(gòu)化問題語(yǔ)言(SQL)能力,還具有面向其他非SQL數(shù)據(jù)類型的通路。 作為微軟的組件對(duì)象模型(COM)的一種設(shè)計(jì),OLE-DB是一組讀寫數(shù)據(jù)的方法(在過去可能被稱為渠道)。OLE-DB中的對(duì)象主要包括數(shù)據(jù)源對(duì)象、階段對(duì)象、命令對(duì)象和行組對(duì)象。使用OLE DB的應(yīng)用程序會(huì)用到如下的請(qǐng)求序列:初始化OLE——>連接到數(shù)據(jù)源——>發(fā)出命令——>處理結(jié)果——>釋放數(shù)據(jù)源對(duì)象并停止初始化OLE。


OLE DB標(biāo)準(zhǔn)中定義的新概念----OLE DB將傳統(tǒng)的數(shù)據(jù)庫(kù)系統(tǒng)劃分為多個(gè)邏輯組件,這些組件之間相對(duì)獨(dú)立又相互通信。這種組件模型中的各個(gè)部分被冠以不同的名稱:數(shù)據(jù)提供者(Data Provider)。 小到普通的文本文件、大到主機(jī)上的復(fù)雜數(shù)據(jù)庫(kù),或者電子郵件存儲(chǔ),都是數(shù)據(jù)提供者的例子。有的文檔把這些軟件組件的開發(fā)商也稱為數(shù)據(jù)提供者。

OLE DB 和ODBC的區(qū)別
由于OLEDB和ODBC 標(biāo)準(zhǔn)都是為了提供統(tǒng)一的訪問數(shù)據(jù)接口,所以曾經(jīng)有人疑惑:OLE DB 是不是替代ODBC 的新標(biāo)準(zhǔn)?答案是否定的。實(shí)際上,ODBC 標(biāo)準(zhǔn)的對(duì)象是基于SQL 的數(shù)據(jù)源(SQL-Based Data Source),而OLE DB 的對(duì)象則是范圍更為廣泛的任何數(shù)據(jù)存儲(chǔ)。從這個(gè)意義上說,符合ODBC 標(biāo)準(zhǔn)的數(shù)據(jù)源是符合OLE DB 標(biāo)準(zhǔn)的數(shù)據(jù)存儲(chǔ)的子集。

OLE DB 源

OLE DB 源通過使用數(shù)據(jù)庫(kù)表、視圖或 SQL 命令,從各種兼容 OLE DB 的關(guān)系數(shù)據(jù)庫(kù)中提取數(shù)據(jù)。 例如,OLE DB 源可以從 Microsoft Office Access 或 SQL Server 數(shù)據(jù)庫(kù)的表中提取數(shù)據(jù)。
??OLE DB 源提供四種不同數(shù)據(jù)訪問模式用于提取數(shù)據(jù):

  • 表或視圖。
  • 變量中指定的表或視圖。
  • SQL 語(yǔ)句的運(yùn)行結(jié)果。 查詢可以是參數(shù)化查詢。
  • 存儲(chǔ)在變量中的 SQL 語(yǔ)句的運(yùn)行結(jié)果。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容