OLE_DB

OLE DB （ Object Linking and Embedding, Database ， 對象鏈接嵌入數據庫 ， 有時亦寫作OLEDB或OLE - DB ） 是微軟爲以統一方式訪問不同類型的數據存儲設計的一種應用程序接口 ， 是一組用組件對象模型 （ COM ） 實現的接口 ， 而與對象連接與嵌入 （ OLE ） 無關 。 它被設計成爲ODBC的一種高級替代者和繼承者 ， 把它的功能擴展到支持更多種類的非關係型數據庫 ， 例如可能不支持SQL的對象數據庫和電子表格 （ 如Excel ） 。 OLE DB用一組抽象概念 （ 包括數據源 、 會話 、 命令和行集 ） 將數據的存儲從需要訪問數據的應用中分離出來 。 這是因爲不同的應用需要訪問不同數據類型和數據源 ， 但是並不需要了解具體如何使用特定技術的方法訪問這些數據 。 OLE DB在概念上分爲了消費者和提供者 。 消費者是那些需要訪問數據的應用程序 ， 提供者是實現了那些接口並將數據提供給消費者的軟件組件 。 OLE DB是微軟數據訪問組件 （ MDAC ） 的一部分 。 MDAC是一組微軟技術 ， 以框架的方式相互作用 ， 爲程序員開發訪問幾乎任何數據存儲提供了一個統一併全面的方法 。 OLE DB的提供者可以用於提供像文本文件和電子表格一樣簡單的數據存儲的訪問 ， 也可以提供像Oracle 、 SQL Server和Sybase ASE一樣複雜的數據庫的訪問 。 OLE DB同樣可以提供對層次類型的數據存儲 （ 如電子郵件系統 ） 的訪問 。 另一方面 ， 由於不同的數據存儲技術可能具有不同的能力 ， OLE DB提供者不需要實現OLE DB中每一個接口 。 通過使用COM對象實現可用的能力 - OLE DB提供者將把數據存儲技術的功能映射到特定的COM接口上 。 當某種接口提供的能力在所使用的數據庫技術中不適用時 ， 微軟稱該接口的可用性爲 " provider - specific " 。 同時 ， 提供者也可以擴大數據存儲的能力 - 這些能力在微軟的用語中被稱爲services 。