INFO:什麼是 MDAC、DA SDK、ODBC、OLE DB、ADO、RDS 以及 ADO/MD?

文章翻譯 文章翻譯
文章編號: 190463 - 檢視此文章適用的產品。
本文曾發行於 CHT190463
全部展開 | 全部摺疊

在此頁中

結論

本文摘要說明 Microsoft 所使用的資料庫技術。 文中的討論部份摘自《Microsoft Data Access Component (MDAC) Redistribution》白皮書,網址如下:
http://msdn.microsoft.com/library/techart/msdn_redistmdac.htm
本文中只討論到 MDAC 技術、縮寫字以及出貨途徑等,並未討論到實際配銷的問題。

上述連結可讓您連至白皮書,其中有 ADO 技術的基本資料,並討論到 2.0 版以下的 MDAC 版本。如需類似的 ADO 技術討論以及 MDAC 2.5 的相關資訊,請查閱白皮書,網址如下:
http://msdn.microsoft.com/library/techart/mdac25.htm

其他相關資訊

「通用資料存取」(Universal Data Access) 是 Microsoft 所採用的高效能存取策略,能有效率地存取公司機構所有類型的資訊 (從桌上型電腦到企業系統),包括關聯式與非關聯式資料。以下為完成「通用資料存取」的四種主要技術:

  • ODBC
  • OLE DB
  • ADO
  • RDS
在 OLE DB 與 ActiveX Data Objects (ADO) 中,最近都新增了「線上分析處理」(On-Line Analytical Processing),或稱多維度 (OLAP) 延伸。

「開放式資料庫連接」(Open Database Connectivity,ODBC) 是一種使用 SQL 查詢語法,可跨越各種資料來源以處理關聯式資料的國際標準。ODBC 的好處是,由於它是國際標準,因此您可以使用 Microsoft 及協力廠商所研發的各種 ODBC 驅動程式,處理範圍廣泛的關聯式資料來源。而它最主要的缺點,則是只能處理使用 SQL 語法的關聯式資料。

OLE DB 是 Microsoft 處理全公司資料的策略性低階介面。OLE DB 是一種開放的規格,以 ODBC 的成功為基礎,提供一種開放標準以存取所有類型的資料。OLE DB 對於查詢的語法或顯露的資料結構並未有特別的限制,只要能以表格形式擷取即可。OLE DB 資料提供者 (OLE DB Data Provider) 與 ODBC 驅動程式 (ODBC Driver) 類似,會將資料來源 (DataSource) 顯露給 OLE DB 用戶 (OLE DB Consumer),例如 ADO。Microsoft 及協力廠商正陸續開發各種 OLE DB 資料提供者。第一個推出的 OLE DB 資料提供者是 Microsoft OLE DB Provider for ODBC Drivers,它可讓您將任何 ODBC DataSource 顯露給 OLE DB 用戶。

ADO 是一個語言中立、策略性的高階介面,Microsoft 用它處理 OLE DB 顯露的資料。無論是使用應用程式、工具、語言,甚至網際網路瀏覽器以建立前端資料庫用戶端或者中層業務物件,ADO 均能提供您一致性、高效能的資料存取。ADO 是您在發展 1 到 n 層主從式 (用戶端/伺服器) 及 Web 資料驅動解決方案時,唯一需要知道的資料介面。雖然您可以使用 C++ 直接撰寫自己的用戶應用程式以使用 OLE DB 提供者,但 ADO 仍是最終的 OLE DB 用戶。

Microsoft 遠端資料服務 (RDS) 能讓您從遠端跨越三個通訊協定 (HTTP、HTTPS 或 DCOM) 之一,使用 ADO 資料錄集 (Recordset)。RDS 最初只供 Web 用戶端使用,但您可以在任何開發環境或使用任何語言,自行實作您的 RDS 用戶端。您可以選擇性地實作伺服器端業務物件,用以產生及接收資料錄集,或者使用 RDS 在其伺服器端元件內所提供的預設業務物件。只有在使用 HTTP 或 HTTPS 通訊協定時,您才需要用到 Internet Information Server (IIS) 主控 RDS Server 元件。使用 DCOM 整理 RDS 物件 (資料錄集或其他物件) 可以免除對 IIS 的依賴。RDS 的好處是可從用戶端快取資料結果、可更新的資料,並支援部份資料感知 ActiveX 控制項。

Microsoft Data Access Components (MDAC) 即為這四種技術加上各種 ODBC 驅動程式與 OLE DB 資料提供者的組合。MDAC 同時也含有 OLE DB 及 ADO 的延伸,且在 1.5 版以後數量逐漸增加,其中最引人注目的是 (但不限於)「線上分析處理」,或稱多維度資料 (Multi-Dimensional Data)。MDAC 元件有三個重要的版本,但只有一個是一般人所知道的 MDAC。MDAC 1.0 並非以經過協調的獨立安裝程式形式出貨,而是分別附於各個 Software Development Kit (SDK) 及產品之中。MDAC 1.5 則是一個完整的獨立安裝,同樣地也附於各個 SDK 及產品之內。MDAC 2.0 則重新命名為 Data Access SDK,且 ODBC 及 OLE DB SDK 都納入 Data Access 2.0 SDK 中。Microsoft 將 MDAC 2.0 元件稱為 Data Access 2.0 SDK 的執行時間元件 (非 SDK 元件)。

為了清楚起見,我們將 MDAC 堆疊稱為 ODBC、OLE DB、ADO 以及 RDS 執行時間元件的一組特定集合。例如,MDAC 1.0 堆疊含有 ODBC 3.0、OLE DB 1.1、ADO 1.0 以及 Advanced Data Connector 1.0(Advanced Data Connector 是在 MDAC 1.5 中所發行的 Remote Data Service 之先驅)。MDAC 1.5 堆疊包含了 ODBC 3.5、OLE DB 1.5、ADO 1.5 以及 RDS 1.5。MDAC 2.0 堆疊包含了 ODBC 3.51、OLE DB 2.0、ADO 2.0、RDS 2.0、OLE DB for OLAP 等延伸以及 ADO/MD。

我們會將 MDAC 發佈視為只為某個已知 MDAC 堆疊安裝執行時間元件的機制。其他 (包括 ODBC 3.X SDK、OLE DB 1.X SDK,以及 MDAC 獨立安裝程式) 則含有發佈、新增範例、文件、表頭、程式庫等等的超集合 (superset)。MDAC 發佈必須搭配用來將您應用程式發佈給客戶的安裝一起使用,您會使用 MDAC 或 SDK 安裝程式安裝到開發電腦上,以建立這些應用程式。這些區別在我們討論到 MDAC 1.5 安裝程式和發佈狀況時更加重要。

Universal Data Access、Microsoft Data Access Components、Data Access SDK、ODBC SDK、以及 OLE DB SDK 等等,都屬於 Microsoft 策略的不同面。

MDAC 1.0 堆疊



MDAC 1.0 與其說是一個經過協調的獨立安裝程式,不如說是一種概念。MDAC 1.0 元件包括了 ODBC 3.0、OLE DB 1.1、ADO 1.0 以及 Advanced Data Connector 1.0。目前 Advanced Data Connector 所用的是 ADO 資料錄集的一組子集,獨立於 ADO 之外。雖然 1996 年 8 月所發行的 OLE DB 1.0 SDK 已經開始邁往 MDAC 之路,但是先前的 ODBC 大部份都獨立存在。1996 年冬天,MDAC 1.0 堆疊以附屬於各種不同發佈機制的形式發行,但是尚未具備 MDAC 1.5 的集中管理或協調功能。

ODBC 3.0 隨附於 ODBC 3.0 SDK (可從網站下載) 中,同時也附於 Internet Information Server 3.0 以及 OLE DB 1.1 SDK 內。OLE DB 1.1 及 ADO 1.0 附於 OLE DB 1.1 SDK (可從 Visual Studio 97 內取得或從網站下載) 以及 Internet Information Server 3.0 內。Advanced Data Connector 附於 Internet Information Server 3.0 內,也可以從網站以可下載的 .cab 檔形式下載。

MDAC 1.0 含有 ODBC Drivers for Access/Jet、SQL Server,以及初次納入、可顯露 Oracle 資料的 Microsoft ODBC 驅動程式。Microsoft OLE DB Provider for ODBC Drivers 是第一個、也是唯一一個附於 MDAC 1.0 的 OLE DB 提供者。

從哪一種產品安裝哪一版的 ODBC (也可能包括 OLE DB 和 ADO) 的角度來看,Visual Studio 97 實際上是由多種元件所混合的。例如 Visual Interdev 含有 Active Server Pages,它是 Internet Information Server 3.0 的元件,而 Internet Information Server 3.0 所安裝的是 ODBC 3.0、OLE DB 1.1 以及 ADO/ADC 1.0。但 Visual Basic 5.0 只安裝 ODBC 2.65 版,未安裝 OLE DB 或 ADO 元件。Visual C++ 5.0 安裝了 ODBC 2.65,但它也含有 Visual Studio 97 的安裝選項,您可以選擇安裝 OLE DB 1.5 SDK,它將提供您完整的 MDAC 1.0 堆疊。

一般說來,ODBC 驅動程式配合 ODBC Driver Manager/Core Component 混合使用,這種作法相當安全。雖然產品小組花費極大功夫來確定 ODBC Driver Manager 以及 Microsoft ODBC 驅動程式具有回溯相容性,但是只要 ODBC Driver Manager 的發行時間比 ODBC 驅動程式晚即可。

MDAC 1.5 堆疊



到了 MDAC 1.5,MDAC 元件的安裝和發佈之間便有了較多的協調。MDAC 1.5 含有 ODBC 3.5、OLE DB 1.5、ADO 1.5 以及 Remote Data Service 1.5。「遠端資料服務」是 Advanced Data Connector 的後繼軟體,改名的主要原因,是為了反映它逐漸成為 ADO 其中一項功能的事實。在 MDAC 2.0 中,RDS 文件的位置與 ADO 文件相同。

同樣地,MDAC 1.5 的部份內容也包含在各種 SDK 和產品之內。MDAC 1.5 在 Web 上是以獨立安裝程式的形式發行,也附在 Windows NT 4.0 Option Pack 內,而 MDAC 1.5 的部份內容亦附在 Internet Explorer 4.x 內,尤其是在 RDS Client 元件內。Windows 98 含有 MDAC 1.5 元件,OLE DB 1.5 SDK 與 ODBC 3.5 SDK 則都含有 MDAC 1.5 元件。

MDAC 1.5 含有 Microsoft Access/Jet 與 SQL Server 的 ODBC 驅動程式,並含有 Microsoft Oracle ODBC 驅動程式的重要更新。此外,目前 Microsoft 亦已提供另外兩種 OLE DB 提供者 (但未附於 MDAC 堆疊內)。供 Active Directory Services 以及 Microsoft Index Server 使用的 OLE DB 提供者,分別可以從 MDAC 堆疊中取得。這兩個提供者均利用 OLE DB 的優勢,而這是 ODBC 永遠也無法提供的,亦即它使用了非 SQL 的查詢語法,透過來自非關聯式 DataStore 的 OLE DB 資料提供者擷取資料。

Microsoft Data Access Components 1.5 版具有五個 (以上) 不同的版次,每一個版次都具有不同版本的 Open Database Connectivity (ODBC) 3.5、OLE DB 1.5、ActiveX Data Objects (ADO) 1.5 與 Remote Data Service (RDS) 1.5 元件,以及 ODBC 驅動程式與 OLE DB 提供者。最初的兩個版次除了檔案版本戳記 (以及安裝程式中所修正的錯誤) 以外,幾乎沒什麼不同。以下是兩者的說明:
  • Internet Explorer 4.0:附於 Internet Explorer 4.0 及 Internet Client SDK 4.0,並整合到這兩項產品的安裝程式內。
  • MDAC 1.5 (PDC):更新附於 Internet Explorer 的元件,且只可在 1997 Professional Developers Conference CD 的 MDAC 獨立安裝程式內取得。
  • MDAC 1.5a:從 1997 年 10 月 6 日至 1997 年 12 月 20 日,可從網站上的 MDAC 獨立安裝程式中取得。
  • MDAC 1.5b:可從 Windows NT 4.0 Option Pack 中取得,MDAC 獨立安裝程式實際上已整合至 Option Pack (不作為單獨安裝程式) 內。
  • MDAC 1.5c:從 1997 年 12 月 20 日之後可從網站上取得,同時可作為 MDAC 獨立安裝程式以及只安裝執行時間元件的小型 MDAC 發佈。MDAC 1.5c 同時也符合 OLE DB 1.5 及 ODBC 3.5 SDK 所附的位元。1.5b 和 1.5c 之間實際修正的錯誤雖然是漸進式的,但卻相當重要,因為它修正了 ADO 執行緒以及 ODBC Connection Pooling (ODBC 連線集區) 的問題。
  • Windows 98 及/或 Internet Explorer 4.01 Service Pack 1:Internet Explorer 4.01 Service Pack 1 與 Windows 98 都含有混合版 MDAC 的子集。這兩項產品也是您唯一可取得修改版 ADO/RDS (實際上是 MDAC 1.5d) 之處,但它們並不提供完整的 ODBC 或 OLE DB,且其所附的 ODBC/OLE DB 檔案版本比 MDAC 1.5c 還要舊。「1.5d」和「1.5c」之間最重要的變更,是使用 DCOM 整頓來自伺服器物件的「遠端資料服務」用戶端,不再需要將業務物件標示為可安全執行指令碼及初始化。

MDAC 2.0 堆疊



MDAC 2.0 發佈於 Data Access 2.0 SDK 中,前者混合並更新了 MDAC 1.5、ODBC 3.5 SDK 及 OLE DB 1.5 SDK 的內容,以及 OLAP 規格的 OLE DB。Data Access SDK 結合了所有的執行時間元件、文件及範例,並在 <drive>:\msdasdk\redist 目錄中提供了整合的發佈版本。雖然先前 MDAC 1.5 獨立版本與發佈版本是分別提供 (因此經常造成混淆),但 Data Access SDK 卻是完整的整合產品。SDK 的大小是 40M,相較於 MDAC 2.0 發佈版本的 7.9M,兩者的區別也更加明顯。

MDAC 2.0 發佈版本在一版之內安裝了所有的 MDAC 2.0 元件,同時也安裝了 Microsoft Access/Jet、Oracle 以及 SQL Server 的 ODBC 驅動程式/OLE DB 提供者。Visual FoxPro ODBC 驅動程式也附於此發佈版本內。以前這個驅動程式只能從網站下載。

Visual Studio 6.0 也附有 MDAC 2.0 元件,包括完整 Data Access SDK 的子集。可從下列網址下載的 Data Access SDK,實際上要比 Visual Studio 6.0 版來得新:
http://www.microsoft.com
此外,網站下載也含有 MDAC 2.0 執行時間元件,而 Visual Studio 6.0 版則無此元件。這是因為 Visual Studio 6.0 安裝程式的其他部份會安裝 MDAC 執行時間元件。

?考

本文件是根據 Microsoft Knowledgebase 文件編號 Q190463 翻譯的。若要參考原始英文文件內容,請至以下網址:

http://support.microsoft.com/support/kb/articles/Q190/4/63.asp

屬性

文章編號: 190463 - 上次校閱: 2005年8月24日 - 版次: 2.2
這篇文章中的資訊適用於:
  • Microsoft Data Access Components Software Development Kit 2.0
  • Microsoft Data Access Components Software Development Kit 2.1
  • Microsoft Data Access Components 1.5
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1 Service Pack 2
  • Microsoft Open Database Connectivity 3.0
  • Microsoft Open Database Connectivity 3.5
  • Microsoft Open Database Connectivity 3.51
  • Microsoft OLE DB 1.1
  • Microsoft OLE DB 1.5
  • Microsoft OLE DB 2.0
  • Microsoft ActiveX Data Objects 1.0
  • Microsoft ActiveX Data Objects 1.5
  • Microsoft ActiveX Data Objects 2.0
  • Microsoft ActiveX Data Objects 2.1 Service Pack 2
  • Microsoft 遊戲夢工廠
  • Microsoft Remote Data Services 1.1
  • Microsoft Remote Data Services 1.5
  • Remote Data Service for ADO 1.0, 1.1, 1.5, 2.0
關鍵字:?
kbinfo kbdatabase kbgrpdsvbdb kbmdacnosweep kbgrpdsmdac kbvs kbatm KB190463
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com