




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、VB訪問數(shù)據(jù)庫的方法及接口的比較摘 要:本文介紹了幾種Visual Basic訪問數(shù)據(jù)庫的方法,對這些數(shù)據(jù)接口的性能進行了比較,并提出相互的轉(zhuǎn)化關(guān)系。要害詞:Visual Basic 數(shù)據(jù)訪問接口 DAO RDO ADO1 VB訪問數(shù)據(jù)庫的方法VB訪問數(shù)據(jù)庫的方法很多,一般情況下分成兩大類,而每一類又有很多方法。下面以列表的方式列出每一類,及每一類包含的方法。1.1 接口對象法(API) VBSQL:通過DB-Library訪問微軟的SQL Server ODBC API:任何一種ODBC數(shù)據(jù)源 16位和32位 DAO/Jet:本地的Jet/Access.MDB、順序索引數(shù)據(jù)庫(ISAM)和任
2、何ODBC數(shù)據(jù)源 DAO/ODBC Direct:任何一種ODBC 數(shù)據(jù)源(經(jīng)過RDO) RDO 2.0:任何一種ODBC數(shù)據(jù)源(Level或) ADO:任何一種ODBC數(shù)據(jù)源和任何經(jīng)過OLE DB界面接口的數(shù)據(jù)源 1.2 數(shù)據(jù)控件法 Data Control:DAO/Jet數(shù)據(jù)界面接口Data Control/ODBC Direct:DAO/ODBC Direct數(shù)據(jù)界面接口 RemoteData Control/RDC:RDO數(shù)據(jù)界面接口Advanced Data Connector/ADC:ADO數(shù)據(jù)界面接口 2 幾種接口的比較ADC(Advanced Data Connector):高
3、級數(shù)據(jù)連接器。提供綁定ADO數(shù)據(jù)源到窗體的數(shù)據(jù)綁定控件上。ADC主要是一種直接訪問或者通過ADO訪問遠程OLE DB對象的一種技術(shù),它也支持主要應(yīng)用在微軟IE瀏覽器上的數(shù)據(jù)綁定控件。它是特地為Web上的瀏覽器為基礎(chǔ)的應(yīng)用程序而設(shè)計的。ADO(Active Data Objects):Active數(shù)據(jù)對象。是DAO/RDO的后繼產(chǎn)物,ADO“擴展”了DAO和RDO所使用的對象模型,這意味著它包含較少的對象、更多的屬性、方法(和參數(shù)),以及事件。ADO實際是一種提供訪問各種數(shù)據(jù)類型的連接機制。ADO設(shè)計為一種極簡單的格式,通過ODBC的方法同數(shù)據(jù)庫接口??梢允褂萌魏我环NODBC數(shù)據(jù)源,即不止適合于
4、SQL Server、Oracle、Access等數(shù)據(jù)庫應(yīng)用程序,也適合于Excel表格、文本文件、圖形文件和無格式的數(shù)據(jù)文件,是一個便于使用的應(yīng)用程序?qū)咏涌?。ADO是為Microsoft最新和最強大的數(shù)據(jù)訪問范例OLE DB而設(shè)計的,OLE DB為任何數(shù)據(jù)源提供了高性能的訪問,這些數(shù)據(jù)源包括關(guān)系和非關(guān)系數(shù)據(jù)庫、電子郵件和文件系統(tǒng)、文本和圖形、自定義業(yè)務(wù)對象等等。ADO在要害的Internet方案中使用最少的網(wǎng)絡(luò)流量,并且在前端和數(shù)據(jù)源之間使用最少的層數(shù),所有這些都是為了提供輕量、高性能的接口。因此ADO通過其內(nèi)部的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪問接口方法。DAO(Data Access Obje
5、cts):數(shù)據(jù)訪問對象。是一種面向?qū)ο蟮慕缑娼涌?。通過DAO/Jet功能可以訪問ISAM數(shù)據(jù)庫,使用DAO/ODBC Direct功能可以實現(xiàn)遠程RDO功能。使用DAO的程序編碼非常簡單,DAO提供豐富的游標(biāo)(Cursor)類型的結(jié)果集和非游標(biāo)(Cursor-Less)類型的結(jié)果集,同DDL(數(shù)據(jù)描述語言)的功能很類似。DAO可通過ODBC像直接連接到其它數(shù)據(jù)庫一樣,直接連接到Access數(shù)據(jù)庫。DAO最適用于單系統(tǒng)應(yīng)用程序或小范圍本地分布使用。DAO模型是設(shè)計關(guān)系數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)的對象類的集合。它們提供了完成治理這樣一個系統(tǒng)所需的全部操作的屬性和方法,包括創(chuàng)建數(shù)據(jù)庫,定義表、字段和索引,建立表
6、間的關(guān)系,定位和查詢數(shù)據(jù)庫等工具。JET(Joint Engine Technology):數(shù)據(jù)連接性引擎技術(shù)。是一種基于工作站通過DAO的數(shù)據(jù)庫訪問機制。雖然可以通過微軟Access提供的ODBC驅(qū)動程序訪問Jet數(shù)據(jù)庫,但使用這些驅(qū)動程序在功能上有所限制。Jet機制有自己的查詢和結(jié)果集處理功能,并可對同種或異種數(shù)據(jù)源作查詢處理。0DBC(Open Database Connectivity):開放式的數(shù)據(jù)庫連接技術(shù)。為異種數(shù)據(jù)庫的訪問提供了統(tǒng)一的接口。ODBC基于SQL(Structured Query Language),并把它作為訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)。這個接口提供了最大限度的相互可操作性:
7、一個應(yīng)用程序可以通過一組通用的代碼訪問不同的數(shù)據(jù)庫治理系統(tǒng)。一個軟件開發(fā)者開發(fā)的客戶/服務(wù)器應(yīng)用程序不會被束定于某個特定的數(shù)據(jù)庫之上。ODBC可以為不同的數(shù)據(jù)庫提供相應(yīng)的驅(qū)動程序,是一種公認(rèn)的關(guān)系數(shù)據(jù)源的接口界面。它快而輕并且提供統(tǒng)一接口的界面,ODBC對任何數(shù)據(jù)源都未作優(yōu)化。ODBC API:數(shù)據(jù)庫廠商為程序設(shè)計者提供的直接訪問數(shù)據(jù)庫的一組函數(shù)。注重:這里要指出的是,雖然ODBC API提供了很多很方便而且強大的功能。但是通常來說ODBC API都比較難學(xué),而且使用很輕易出錯。雖然答應(yīng)用ODBC API來操作ODBC句柄,但還是要小心,假如不正確地使用ODBC API,可能會導(dǎo)致不可預(yù)知的錯
8、誤。例如,假如使用ODBC API代碼來關(guān)閉連接或釋放這些ODBC句柄中的任何一個,那么RemoteData控件或RDO的行為將是不可預(yù)知的。保存ODBC句柄以供備用也是沒有意義的,因為它們是可變的。ODBC Direct:是一種基于DAO對象的新的DAO模式,其方法和屬性與RDO功能相同。使用在有DAO代碼存在的場合,可用來訪問遠程數(shù)據(jù)源。OLE DB: 是COM模型的數(shù)據(jù)庫接口。是一種底層數(shù)據(jù)訪問界面接口。是用于第三方驅(qū)動程序商家開發(fā)輸出數(shù)據(jù)源到ADO技術(shù)的應(yīng)用程序或用于C+的開發(fā)者開發(fā)定制的數(shù)據(jù)庫組件。它能夠處理任何類型的數(shù)據(jù)。OLE DB向應(yīng)用程序提供一個統(tǒng)一的數(shù)據(jù)訪問方法,而不考慮它
9、們的格式和存儲方法。在實際應(yīng)用中,這種多樣性意味著可以訪問駐留在電子數(shù)據(jù)表、文本文件甚至郵件服務(wù)器,諸如 Microsoft Exchang中的數(shù)據(jù)。OLE DB不能被VB直接調(diào)用。RDC(RemoteData Control):遠程數(shù)據(jù)訪問控件。是一種對RDO數(shù)據(jù)綁定的控件??梢暂敵鎏囟ǖ慕Y(jié)果集到數(shù)據(jù)源控件。RDO(Remote Data Objects):遠程數(shù)據(jù)對象。是一個到ODBC的、面向?qū)ο蟮臄?shù)據(jù)訪問接口,遠程數(shù)據(jù)對象和集合為使用代碼來創(chuàng)建和操作一個遠程ODBC數(shù)據(jù)庫系統(tǒng)的各個部件提供了一個框架。對象和集合都具有描述數(shù)據(jù)庫的各個部件特征的屬性以及用來操作這些部件的方法。可以在對象和集
10、合之間建立起關(guān)系,這些關(guān)系就代表了數(shù)據(jù)庫系統(tǒng)的邏輯結(jié)構(gòu)。它同易于使用的DAO style組合在一起,提供了1個接口,形式上展示出所有ODBC的底層功能和靈活性。RDO是ODBC API的一個淺層界面接口。是專為訪問遠程ODBC關(guān)系數(shù)據(jù)源而設(shè)計的。盡管RDO在訪問Jet或ISAM數(shù)據(jù)庫方面受到限制,而且它只能通過現(xiàn)存的ODBC驅(qū)動程序來訪問關(guān)系數(shù)據(jù)庫。但是,RDO已被證實是許多SQL Server、Oracle以及其他大型關(guān)系數(shù)據(jù)庫開發(fā)者經(jīng)常選用的最佳接口。RDO提供了用來訪問存儲過程和復(fù)雜結(jié)果集的更多和更復(fù)雜的對象、屬性以及方法。VBSQL:是Visual Basic結(jié)構(gòu)化查詢語言。是一種基于
11、API的接口方法,幾乎與C的DB-Library API相同。VBSQL只支持微軟的SQL Server。VBSQL快而且輕但不支持對象界面。3性能比較及應(yīng)用說明用VB開發(fā)基于SQL Server的數(shù)據(jù)庫系統(tǒng),以上幾種訪問SQL Server的方法各有各的特點。DAOs方法是基于對象的,因而便于使用,但是它從Visual Basic到SQL Server的最慢的方式。ODBC API和VBSQL方法從本質(zhì)上講是基于程序的。ODBC API方法通用性好,答應(yīng)最強的互操作性,編程簡單,但速度慢于VBSQL方法。VBSQL方法通過VBSQL控件,提供了重要的SQL Server前端應(yīng)用程序所需的靈活
12、性、強大功能和良好性能。它具有真正的事件驅(qū)動及錯誤處理能力,完全支持異步處理、游標(biāo)和計算列等。這些都是VBSQL方法超出其它方法的優(yōu)勢,但其編程稍復(fù)雜。RDO是位于ODBC API之上的一個對象模型層,它依靠ODBC API、ODBC驅(qū)動程序以及后端數(shù)據(jù)庫引擎來實現(xiàn),用RDO所需的程序短小(約250 KB)、快速。RDO具備基本的ODBC處理方法,可直接執(zhí)行大多數(shù)ODBC API函數(shù),RDO包含在VB 4.0/VB 5.0企業(yè)版中,由MSRDO32.DLL動態(tài)連接庫來實現(xiàn)。RDO是綜合了DAO/Jet、VBSQL/DBLib和ODBC的優(yōu)點的對象模型,包含ODBC API應(yīng)用層,設(shè)計為在后臺(
13、服務(wù)器端)有數(shù)據(jù)庫存在的前提下運行,是針對SQL Server和Oracle而非凡設(shè)計的。RDO的優(yōu)勢在于它完全被集成在VB之中,可直接訪問SQL Server存儲過程、完全支持T-SQL、T-SQL調(diào)試集成在開發(fā)環(huán)境中、Visual Database Tools的集成化等。但微軟已公布今后不再對VBSQL/DBLib進行升級,而ODBC API函數(shù)一般的編程方式也不為人們所喜愛,RDO的應(yīng)用將逐漸減少。至于實際使用哪一種接口方式,在很大程度上依靠于用戶的應(yīng)用程序的具體情況而定。4 VB訪問數(shù)據(jù)庫的原則應(yīng)用VB訪問數(shù)據(jù)庫時,要具體問題具體分析,根據(jù)具體的環(huán)境、條件、要求而采用適當(dāng)?shù)姆桨?,就?yīng)注
14、重以下幾個原則:4.1 代碼的重用和運行的效率例如:通過使用ODBC數(shù)據(jù)源連接數(shù)據(jù)庫的方法,可在變換多種數(shù)據(jù)庫類型的情況下,而不用頻繁修改代碼。用VBSQL通過DB-Library就做不到。而ODBC接口并不是VB訪問數(shù)據(jù)庫運行效率最高的方法。同樣,同是使用ODBC接口的ADO的效率要高于RDO。4.2 實現(xiàn)的簡便性,易維護性假如一種方法實現(xiàn)起來很復(fù)雜,工程的開發(fā)必然造成人力物力的浪費,同時這樣設(shè)計出來的應(yīng)用程序只會支持起來更復(fù)雜或維護時更困難。例如:本地需要訪問ISAM 或Jet 類型數(shù)據(jù)源,那么就使用DAO/Jet,而沒有必要使用通過ODBC的方法。RDC實現(xiàn)起來要較RDO更輕易。4.3
15、安全性原則這一條應(yīng)根據(jù)環(huán)境和條件決定。例如局域網(wǎng)的網(wǎng)絡(luò)安全性要好于廣域網(wǎng)因而可直接利用數(shù)據(jù)控件如RDC,這樣實現(xiàn)起來方便快捷,而廣域網(wǎng)需要大量的錯誤捕捉,如用RDC就不如用RDO易控制錯誤。5 結(jié)束語在數(shù)據(jù)訪問接口中DAO最適用于單系統(tǒng)應(yīng)用程序或小范圍本地分布使用,而RDO已被證實是許多SQL Server、Oracle以及其它大型關(guān)系數(shù)據(jù)庫開發(fā)者經(jīng)常選用的最佳接口。ADO是DAORDO的后繼產(chǎn)物。ADO 2.0在功能上與RDO更相似,而且一般來說,在這2種模型之間有一種相似的映射關(guān)系。ADO“擴展”了DAO和RDO所使用的對象模型,這意味著它包含較少的對象、更多的屬性、方法和參數(shù),以及事件。
16、數(shù)據(jù)庫接口中最新的是ADO,它是比RDO和DAO更加簡單、更加靈活的對象模型。對于新工程,應(yīng)該使用ADO作為數(shù)據(jù)訪問接口。不過,ADO并不是自動和現(xiàn)存的數(shù)據(jù)訪問應(yīng)用程序代碼兼容的。當(dāng)ADO封裝DAO和RDO的功能性的時候,必須將許多語言要素轉(zhuǎn)換為ADO語法。在某些情況下,這將意味著現(xiàn)存代碼的某些功能的1個簡單轉(zhuǎn)換。在其它情況下,最佳的做法可能是用ADO的新功能重寫該應(yīng)用程序。同時要注重的是,ADO當(dāng)前并不支持DAO的所有功能。ADO主要包括RDO風(fēng)格的功能性,以便和OLE DB數(shù)據(jù)源交互,另外還包括遠程和DHTML技術(shù)。一般說來,在ADO的演化過程中,馬上把大多數(shù)DAO應(yīng)用程序移植到ADO上可能為時太早,因為當(dāng)前的ADO并不支持?jǐn)?shù)據(jù)定義(D
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河道清淤登封方案范本
- 項目管理市場趨勢分析試題及答案
- 綜合復(fù)習(xí)2025年證券從業(yè)資格證試題及答案
- 解析證券從業(yè)資格考試形式與內(nèi)容試題及答案
- 2024年項目管理專業(yè)人士資格認(rèn)證的多樣性試題及答案
- 2025年國際金融理財師考試新領(lǐng)域探索試題及答案
- 寶安電梯井防水施工方案
- 酒泉水泥排風(fēng)道施工方案
- 2024年項目管理專業(yè)人士考試深度剖析試題及答案
- 2025年注冊會計師考試成功經(jīng)驗與新手指南試題及答案
- 2025水利云播五大員考試題庫(含答案)
- 養(yǎng)老院安全風(fēng)險分級管控和隱患排查雙重預(yù)防
- 感染性休克指南解讀
- 《老年人合理用藥》課件
- 肝門膽管癌手術(shù)配合步驟
- 大數(shù)據(jù)與會計函授??飘厴I(yè)實習(xí)報告
- 6.3價值的創(chuàng)造和實現(xiàn) 說課課件高中政治統(tǒng)編版必修四哲學(xué)與文化
- 2高壓旋噴40雙管法41樁施工記錄表2012-12-31
- XXX檢驗科職業(yè)暴露應(yīng)急處理演練腳本
- 市政基礎(chǔ)設(shè)施施工現(xiàn)場綠色施工管理臺賬
- 東北大學(xué)《公共組織財務(wù)管理》期末考核作業(yè)754
評論
0/150
提交評論