OLE DB

 

OLE DB

  OLE DB(OLEDB)是微軟的戰略性的通向不同的數據源的低級應用程序接口。OLE DB不僅包括微軟資助的標準數據接口開放數據庫連通性(ODBC)的結構化查詢語言(SQL)能力,還具有面向其他非SQL數據類型的通路。 作爲微軟的組件對象模型(COM)的一種設計,OLE DB是一組讀寫數據的方法(在過去可能被稱爲渠道)。OLD DB中的對象主要包括數據源對象、階段對象、命令對象和行組對象。使用OLE DB的應用程序會用到如下的請求序列: 初始化OLE 連接到數據源、發出命令、處理結果、釋放數據源對象並停止初始化OLE
  Object Linking and Embedding,對象連接與嵌入,簡稱OLE技術。OLE不僅是桌面應用程序集成,而且還定義和實現了一種允許應用程序作爲軟件“對象”(數據集合和操作數據的函數)彼此進行“連接”的機制,這種連接機制和協議稱爲部件對象模型。
  OLE 是一種面嚮對象的技術,利用這種技術可開發可重複使用的軟件組件(COM)。
  DB(英文全稱data base,數據庫)是依照某種數據模型組織起來並存放二級存儲器中的數據集合。
  OLE DB 標準中定義的新概念
  OLE DB 將傳統的數據庫系統劃分爲多個邏輯組件,這些組件之間相對獨立又相互通信。這種組件模型中的各個部分被冠以不同的名稱:
  數據提供者(Data Provider)。提供數據存儲的軟件組件,小到普通的文本文件、大到主機上的複雜數據庫,或者電子郵件存儲,都是數據提供者的例子。有的文檔把這些軟件組件的開發商也稱爲數據提供者。
  數據服務提供者(Data Service Provider)。位於數據提供者之上、從過去的數據庫管理系統中分離出來、獨立運行的功能組件,例如查詢處理器和遊標引擎(Cursor Engine),這些組件使得數據提供者提供的數據以表狀數據(Tabular Data)的形式向外表示(不管真實的物理數據是如何組織和存儲的),並實現數據的查詢和修改功能。SQL Server 7.0 的查詢處理程序就是這種組件的典型例子。
  業務組件(Business Component)。利用數據服務提供者、專門完成某種特定業務信息處理、可以重用的功能組件。分佈式數據庫應用系統中的中間層(Middle-Tier)就是這種組件的典型例子。
  數據消費者(Data Consumer)。任何需要訪問數據的系統程序或應用程序,除了典型的數據庫應用程序之外,還包括需要訪問各種數據源的開發工具或語言。
  OLE DB 與ODBC 的關係
  由於OLE DB 和ODBC 標準都是爲了提供統一的訪問數據接口,所以曾經有人疑惑:OLE DB 是不是替代ODBC 的新標準?答案是否定的。實際上,ODBC 標準的對象是基於SQL 的數據源(SQL-Based Data Source),而OLE DB 的對象則是範圍更爲廣泛的任何數據存儲。從這個意義上說,符合ODBC 標準的數據源是符合OLE DB 標準的數據存儲的子集。符合ODBC 標準的數據源要符合OLE DB 標準,還必須提供相應的OLE DB 服務程序(Service Provider),就像SQL Server 要符合ODBC 標準,必須提供SQL Server ODBC 驅動程序一樣。現在,微軟自己已經爲所有的ODBC 數據源提供了一個統一的OLE DB 服務程序,叫做ODBC OLE DB Provider。
  ODBC OLE DB Provider 發佈之後,有人又擔心:ODBC Provider 是不是在ODBC 之上的新的層次(Layer)?如果是,那麼使用OLE DB 訪問ODBC 數據源是否將影響性能?答案也是否定的。實際上,ODBC Provider 的作用,是替換ODBC Driver Manager,作爲應用程序與ODBC 驅動程序之間的橋樑,理論上不會增加任何開銷。
發佈了19 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章