本節(jié)內(nèi)容說明三種提供者:數(shù)據(jù)提供者、服務(wù)提供者和服務(wù)組件。提供者分為兩類,提供數(shù)據(jù)的提供者和提供服務(wù)的提供者。數(shù)據(jù)提供者擁有其自己的數(shù)據(jù)并將數(shù)據(jù)以表的格式顯露給應(yīng)用程序。服務(wù)提供者通過產(chǎn)生和消費數(shù)據(jù)將服務(wù)封裝,使 ADO 應(yīng)用程序中的功能得以擴(kuò)大。服務(wù)提供者也可以進(jìn)一步定義為服務(wù)組件,服務(wù)組件必須連同其他服務(wù)提供者或組件一起工作。
數(shù)據(jù)提供者
ADO 之所以具有強大的功能和靈活性,是由于它可以連接到不同的數(shù)據(jù)提供者并仍能使用相同的編程模式,而不管給定提供者的特定特性。
然而,由于每個提供者都是唯一的,所以應(yīng)用程序與 ADO 交互作用的方式在不同的提供者之間略有差別。需要注意的差別通常歸于以下三種類型之一:
? | ConnectionString 屬性中的連接參數(shù)。 |
? | Command 對象的用法。 |
? | 特定提供者的 Recordset 行為。 |
以下為當(dāng)前每個可用的 Microsoft Provider 列出了三個區(qū)域中特定提供者的詳細(xì)資料。
區(qū)域 |
主題 |
ODBC 數(shù)據(jù)庫 |
|
Microsoft? Index Server |
|
Microsoft? Active Directory Service |
Microsoft OLE DB Provider for Microsoft Active Directory Service |
Microsoft? Jet 數(shù)據(jù)庫 |
|
Microsoft? SQL Server |
|
Oracle 數(shù)據(jù)庫 |
特定提供者的動態(tài)屬性
Connection、Command 和 Recordset 對象的 Properties 集合包括特定提供者的動態(tài)屬性。除了 ADO 所支持的內(nèi)置屬性之外,這些屬性提供提供者的特定功能信息。
建立連接和創(chuàng)建這些對象后,使用對象的 Properties 集合的 Refresh 方法可獲得提供者特定屬性。有關(guān)這些動態(tài)屬性的詳細(xì)信息,請查閱提供者文檔和 OLE DB 程序員手冊。
服務(wù)提供者
要使用服務(wù)提供者,必須提供關(guān)鍵字。同時,應(yīng)當(dāng)知道與每個服務(wù)提供者相關(guān)聯(lián)的、特定提供者的動態(tài)屬性。當(dāng)前可從 Microsoft 獲得的每個服務(wù)提供者的特定提供者詳細(xì)資料開列如下:
服務(wù)組件
Cursor Service for OLE DB 服務(wù)組件補充了數(shù)據(jù)提供者的游標(biāo)支持功能。它也需要關(guān)鍵字并具有動態(tài)屬性。
Microsoft Cursor Service for OLE DB
參閱 有關(guān) OLE DB Provider 的詳細(xì)信息,請查閱數(shù)據(jù) Data Access SDK 中的 Microsoft OLE DB 文檔或訪問 http://www.microsoft.com/data 處的 Microsoft Data Access Web 頁。