訪問技術
ODBC
ODBC(Open Database Conneclivily,開放資料庫互連)是微軟公司開放服務結構(WOSA, Windows Open Services Archilec-ture)中有關資料庫的一個組成部分,它建立了一組規範,並提供了一組對資料庫訪問的標準API(應用程式編程接口)。這些API利用SQL來完成其大部分任務。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC。一個完整的ODBC由下列幾個部件組成:應用程式(Application) ,ODBC管理器(Administrate ) ,驅動程式管理器(Driver Manag-er) ,ODBC API,ODBC 驅動程式和數據源。ODBC只提供單一的API,可用於處理不同資料庫客戶應用程式。
MFC ODBC
MFC ODBC的本質是ODBC,只是Visual C++中提供了MFCODBC類,封裝了ODBC API,這樣使得程式的編制更為方便,只需了解該類的一些屬性和方法就可以訪問資料庫了,而無需了解ODBC API的具體細節。口前大部分的ODBC開發都使用MFC ODBC。 Visual C++的MFC類庫定義了幾個資料庫類,在利用ODBC編程時,經常要使用到CDalabase(資料庫類),CRecordSet(記錄集類)。其中CDalabase類對象提供了對數據源的連線,通過它你可以對數據源進行操作;CRecordSel類對象提供了從數據源中提取出的記錄集。
DAO
DAO(Dala Access Object)數據訪問對象,是允許程式設計師操作Microsoft Jet資料庫引擎的一個而向對象的接口。JET資料庫引擎是一種用來訪問Access和其他數據源記錄和欄位的技術。DAO在許多方面都可以說是ODBC的一個超集,它包括了ODBC類的絕大部分功能並且新增了自己的許多功能。DAO支持以下幾種數據源:
(1)Microsofl Jet型資料庫檔案,即基於微軟的mdb類型資料庫的資料庫應用程式,該資料庫是通過Access生成的。
(2)DAO可對ODBC數據源進行操作,但性能並不是很好,可以選擇使用ODBC Direct。 ODBC Direct可以直接訪問ODBC數據源,而不是通過JET引擎。
(3 )ISAM型(索引順序訪問方法)數據源,包括Dbase , Fox-Pro , Paradox , Excel或文本檔案。
OLE DB
OLE DB是Visual C++開發資料庫套用中提供的新技術,它基於COM技術,由一套通過COM訪問數據源的ActiveX接口組成。OLE DB包括客戶和伺服器兩部分。其中,客戶指任何一個使用OLE DB接口的系統或者應用程式,包括OLE DB本身;而伺服器是指所有提供OLE DB接口的軟體組件。
ADO
ADO是ActiveX數據對象(AcLiveX Data Object ),這是Mi-crosoft開發資料庫應用程式的面向對象的新接口,是一種特殊的OLE DB客戶程式。ADO訪問資料庫是通過訪問OLE DB數據提供程式來進行的,它提供了一種對OLE DB數據提供程式的簡單高層訪問接口。
訪問技術的選擇
開發資料庫套用時,恰當選擇訪問資料庫的技術是很必要的。資料庫訪問技術的確定與套用的規模、操作的層次、數據的分布能力以及選擇的資料庫系統等因素有關。
通常選擇了資料庫,就將資料庫訪問技術限制到一個小的選擇範圍。例如我們選擇使用微軟的SQL Server 7.0資料庫系統,這時我們只能通過ODBC或者通過DAO,OLE DB,ADO訪問資料庫,而不能採用DAO,DAO雖然也可以通過ODBC訪問SQL Server,但是效率非常低下,通常很少會用到它。
選擇ADO(OLE DB)或MFC ODBC(ODBC)時,有幾條一般的規則:如果要訪問支持ODBC的資料庫,而該資料庫又在不支持OLE的伺服器上,那么只有選用ODBC;對支持OLE的伺服器來說,應首先考慮使用ADO(OLE DB),除非有現成的ODBC驅動程式可供利用;ODBC在處理SQL時能力較強。處理非SQL資料庫時,ADO(OLE DB)則具有非常明顯的優勢;對於訪問量很大的資料庫伺服器以及要求訪問速度較快的情況,應使用ADO(OLE DB);如果需要可互操作的資料庫部件,那么只有選擇ADO ( OLE DB ) 。