講述ADO類分類問題進行分析研究
本文介紹ADO類,首先先向大家介紹下什么是ADO類,以及ADO類是怎么分類的,下面就對ADO類這個問題進行分析研究,ADO包括了6個類:Connection,Command,Recordset,Errors,Parameters,F(xiàn)ields
1992年Microsoft和Sybase、Digital共同制定了ODBC標(biāo)準(zhǔn)接口,以單一的ODBC API來存取各種不同的數(shù)據(jù)庫。隨后ODBC便獲得了許多數(shù)據(jù)庫廠商和Third-Party的支持而逐漸成為標(biāo)準(zhǔn)的數(shù)據(jù)存取技術(shù)。
ODBC以當(dāng)時的業(yè)界標(biāo)準(zhǔn)規(guī)范X/OpenCall-LevelInterface(CLI)和ISO/IEC9075-3Call-LevelInterface(SADO類QL/CLI)為涵蓋的范圍,因而支持了廣闊的數(shù)據(jù)庫。雖然ODBC在初期的版本中執(zhí)行效率不佳,而且功能有限,因此也為人們所貶低。但是,隨著Microsoft不斷地改善ODBC,使ODBC的執(zhí)行效率不斷增加,ODBC驅(qū)動程序的功能也日漸齊全。到目前,ODBC已經(jīng)是一個穩(wěn)定并且執(zhí)行效率良好的數(shù)據(jù)存取引擎。
不過ODBC僅支持關(guān)系數(shù)ADO類據(jù)庫,以及傳統(tǒng)的數(shù)據(jù)庫數(shù)據(jù)類型,并且只以C/C++語言API(API就是一些C語言的代碼,是***層的程序,在windows中就是一些.dll的文件)形式提供服務(wù),因而無法符合日漸復(fù)雜的數(shù)據(jù)存取應(yīng)用,也無法讓腳本語言使用。因此Microsoft除了ODBC之外,也推出了其他的數(shù)據(jù)存取技術(shù)以滿足程序員不同的需要。(注:ODBC是面向過程的語言,由C語言開發(fā)出來,不能兼容多種語言,所以開發(fā)的難度大,而且只支持有限的數(shù)據(jù)庫公司,對于后來的EXCEL等根本不能支持)
隨著數(shù)據(jù)源日益復(fù)雜化,現(xiàn)今的應(yīng)用程序很可能需要從不同的數(shù)據(jù)源取得數(shù)據(jù),加以處理,再把處理過的數(shù)據(jù)輸出到另外一個數(shù)據(jù)源中。ADO類更麻煩的是這些數(shù)據(jù)源可能不是傳統(tǒng)的關(guān)系數(shù)據(jù)庫,而可能是Excel文件,Email,Internet/Intranet上的電子簽名信息。Microsoft為了讓應(yīng)用程序能夠以統(tǒng)一的方式存取各種不同的數(shù)
據(jù)源,在1997年提出了UniversalDataAccess(UDA)架構(gòu)。#t#
UDA以COM技術(shù)為核心,協(xié)助程序ADO類員存取企業(yè)中各類不同的數(shù)據(jù)源。UDA以O(shè)LE-DB(屬于操作系統(tǒng)層次的軟件)做為技術(shù)的骨架。OLE-DB定義了統(tǒng)一的ADO類接口做為存取各類異質(zhì)數(shù)據(jù)源的標(biāo)準(zhǔn),并且封裝在一組COM對象之中。藉由OLE-DB,程序員就可以使用一致的方式來存取各種數(shù)據(jù)。但仍然OLEDB是一個低層次的,利用效率不高。
雖然OLE-DB允許程序員存取各類數(shù)據(jù),是一個非常良好的架構(gòu),但是由于OLE-DB太底層化,而且在使用上非常復(fù)雜,需要程序員擁有高超的技巧,因此只有少數(shù)的程序員才有辦法使用OLE-DB。這讓OLE-DB無法廣為流行。
為了解決這個問題,并且讓VB和腳本語言也能夠藉由OLE-DB存取各種數(shù)據(jù)源,Microsoft同樣以COM技術(shù)封裝OLE-DB為ADO對象,(這一步是很重要的,實現(xiàn)了多種程序可以互相調(diào),并且可以開發(fā)的語言也豐富了)簡化了程序員數(shù)據(jù)存取的工作。由于 ADO成功地封裝了OLE-DB大部分的功能,并且大量簡化了數(shù)據(jù)存取工作,因此 ADO類也逐漸被愈來愈多的程序員所接受。ADO包括了6個類:Connection,Command,Recordset,Errors,Parameters,F(xiàn)ields