摘 要:數(shù)據(jù)庫訪問技術(shù)是計算機編程應(yīng)用中十分重要的技術(shù),文章主要介紹了編程中常用的DAO、ODBC API、RDO和ADO等技術(shù)的特點,并重點介紹了當(dāng)前作為主流應(yīng)用技術(shù)的ADO。
關(guān)鍵詞:數(shù)據(jù)庫訪問技術(shù);VB;ADO
1 概述
VB即Visual Basic,具有強大的數(shù)據(jù)庫操作功能,實現(xiàn)對數(shù)據(jù)的有效處理,已經(jīng)成為普遍運用的可視化編程工具,并且隨著Visual Basic軟件版本的不斷升級,數(shù)據(jù)庫的功能不斷得以提升和豐富,更多的數(shù)據(jù)庫訪問功能被附加到VB上,進(jìn)而使得VB在開發(fā)數(shù)據(jù)庫應(yīng)用程序方面的優(yōu)勢更加彰顯。再加上,信息技術(shù)的飛速發(fā)展,人們對利用網(wǎng)絡(luò)進(jìn)行信息的交流和溝通的要求越來越高,這就使得開發(fā)出功能更加完善、運行速度更快、應(yīng)用范圍更加廣泛、占用資源更少的數(shù)據(jù)庫應(yīng)用程序成為當(dāng)今時代和形勢下的亟需解決的重要問題。而VB可以向廣大的用戶提供不同功能和用途的數(shù)據(jù)控件,同時,VB為了更加豐富其功能的應(yīng)用,提高實用性,設(shè)立了不同類型的數(shù)據(jù)庫,主要包括本地數(shù)據(jù)庫、外地數(shù)據(jù)庫和遠(yuǎn)程數(shù)據(jù)庫,并幫助用戶使用極少的編寫代碼甚至不編寫代碼即可實現(xiàn)數(shù)據(jù)庫的各種操作。
2 VB中的數(shù)據(jù)庫訪問技術(shù)
VB為方便廣大的用戶,設(shè)計了多種方式的訪問途徑,提供了強大的數(shù)據(jù)庫訪問技術(shù),進(jìn)而實現(xiàn)與當(dāng)前多數(shù)常用和流行的數(shù)據(jù)庫的連接。當(dāng)前主要通過引擎、開放式數(shù)據(jù)庫連接驅(qū)動程序及OLE DB等形式實現(xiàn)與不同數(shù)據(jù)庫之間的連接。在開發(fā)背景和環(huán)境下,VB提供的數(shù)據(jù)庫訪問技術(shù)主要包括DAO、ODBC API、RDO、ADO,其中ADO具有簡單容易操作、靈活普遍適用等特點進(jìn)而成為當(dāng)前VB中的主流數(shù)據(jù)庫訪問技術(shù)。下面將會詳細(xì)介紹這幾種技術(shù),并對ADO技術(shù)進(jìn)行重點介紹。
2.1 DAO技術(shù)
DAO即數(shù)據(jù)訪問對象,該數(shù)據(jù)庫訪問技術(shù)基于PC平臺進(jìn)行數(shù)據(jù)的交換,可以實現(xiàn)對數(shù)據(jù)庫中所有內(nèi)容的訪問、操縱和編輯,作為首個面對對象的數(shù)據(jù)庫訪問編程接口,已經(jīng)成為VB數(shù)據(jù)庫訪問的默認(rèn)方式。該技術(shù)和方式主要通過分層次的對象框架即DBEngine頂層對象和workspace及errors等,每一層次代表著一個數(shù)據(jù)對話框及本地或者遠(yuǎn)程數(shù)據(jù)庫,十分靈活和適用。DAO訪問程序的編碼模型集合了設(shè)計關(guān)系數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)中的所有類別對象,進(jìn)而提供了系統(tǒng)所需的所有操作方法和屬性,而且編寫操作簡單,操作工具豐富,主要有創(chuàng)建數(shù)據(jù)庫、定義表、字段和索引、建立表間聯(lián)系、定位及數(shù)據(jù)查詢等工具來完善其訪問效果。但是進(jìn)行非MDB文件格式的數(shù)據(jù)庫進(jìn)行交換和通信時,需要利用jet或者ODBC Direct實現(xiàn)各地數(shù)據(jù)庫的訪問,這就表明DAO訪問技術(shù)具有自身的局限性,但是在單系統(tǒng)應(yīng)用程序及小范圍的本地應(yīng)用上效果更佳突出。
2.2 ODBC API技術(shù)
它是一種進(jìn)行異種數(shù)據(jù)庫訪問的可移植性方式或技術(shù),它存在于驅(qū)動管理器中,與數(shù)據(jù)資源對話的功用函數(shù)等保持著動態(tài)的連接,通過數(shù)據(jù)庫的開放,利用本身包含的豐富的函數(shù)集,為用戶提供通用的接口,并通過這些接口訪問各種后臺數(shù)據(jù)庫。總的來說,應(yīng)用程序調(diào)動驅(qū)動管理器中的函數(shù),而驅(qū)動管理器經(jīng)由驅(qū)動器將函數(shù)及相關(guān)的數(shù)據(jù)呈現(xiàn)在服務(wù)器中。
2.3 RDO技術(shù)
即遠(yuǎn)程數(shù)據(jù)對象訪問方式,提供給開放數(shù)據(jù)庫互連數(shù)據(jù)源的面向?qū)ο蟮慕涌?,是在ODBC API基礎(chǔ)上的對象模型層,可以在客戶端和服務(wù)器之間進(jìn)行數(shù)據(jù)訪問,為利用現(xiàn)代碼創(chuàng)建和操作遠(yuǎn)程數(shù)據(jù)對象和集合提供框架,并依靠ODBC API、ODBC驅(qū)動程序及后端數(shù)據(jù)庫引擎實現(xiàn)自身的功能,但減少了jet數(shù)據(jù)庫的引擎,其中數(shù)據(jù)對象和集合間的關(guān)系代表著數(shù)據(jù)庫系統(tǒng)的邏輯結(jié)構(gòu)。RDO源于DAO,但又有所不同,它可以繞過本地查詢而直接訪問相關(guān)的數(shù)據(jù)庫,還可以與ODBC API同時應(yīng)用于編程中,因此,RDO兼?zhèn)淞薉AO和ODBC API的技術(shù)特點的基礎(chǔ)上,編寫程序更加短小,連接和查詢的速度更加快,但是它無法保障對SQL Server和Oracle之外的數(shù)據(jù)庫的存取。盡管其存在局限性,然而RDO提供的用來訪問存儲過程和復(fù)雜結(jié)構(gòu)的更多、更加復(fù)雜的對象、屬性和方法,使得其仍然成為大型關(guān)系數(shù)據(jù)庫應(yīng)用和開發(fā)的主要手段和方式。
2.4 ADO技術(shù)
即ActiveX對象,是Microsoft公司面向?qū)ο箝_發(fā)數(shù)據(jù)庫應(yīng)用程序而推出的新接口,可以為各種類型的數(shù)據(jù)之間的連接提供有效的機制,已經(jīng)成為客戶/服務(wù)器和基于Web應(yīng)用程序開發(fā)的首選,并成為了ASP技術(shù)訪問Web數(shù)據(jù)庫應(yīng)用程序的核心技術(shù)。
首先,ADO采用Connecton、Recordest和Command三個主要對象為主的對象模型框架。其中,Connecton對象不僅可以實現(xiàn)對遠(yuǎn)程數(shù)據(jù)庫和創(chuàng)建數(shù)據(jù)源的連接,進(jìn)行事務(wù)范圍的控制外,還可以與Recordest或Command進(jìn)行對象間的關(guān)聯(lián);每個Recordest對象都包含著一個Field對象集,集合了所有從數(shù)據(jù)源返回的結(jié)果。它不僅可以創(chuàng)建自身對想要查看的數(shù)據(jù)源的連接,還可以使用并操作已經(jīng)打開的Connecton對象,另外,它還可以完成對相關(guān)數(shù)據(jù)的查詢和修改;Command也可以使用并操作已經(jīng)打開的Connecton對象以及完成對相關(guān)數(shù)據(jù)的查詢和修改,主要負(fù)責(zé)對參數(shù)化的SQL語句的命令的執(zhí)行,也適用于SQL語句和返回結(jié)果集的SQL查詢。
其次,ADO作為DAO和RDO等技術(shù)的衍生和后繼產(chǎn)物,吸收并借鑒了之前數(shù)據(jù)庫訪問技術(shù)的多數(shù)優(yōu)點。從對象模型層次上來看,ADO對象模型框架主要包含三個對象,與上述其他對象模型框架結(jié)構(gòu)更加簡便。主要因為ADO將DAO和RDO眾多的屬性、對象和方法進(jìn)行了優(yōu)化的整合和創(chuàng)新。同時,ADO對LE DB技術(shù)揚長避短,并在此基礎(chǔ)上建立了面對對象高層數(shù)據(jù)庫訪問接口,并通過支持客戶/服務(wù)器和基于Web應(yīng)用程序主要功能的建立來解決單一或者多客戶/服務(wù)器和Web應(yīng)用程序及數(shù)據(jù)開發(fā)的各種問題。
最后,作為最新的數(shù)據(jù)庫訪問技術(shù),ADO可以實現(xiàn)對SQL Server、Oracle等數(shù)據(jù)庫應(yīng)用程序的使用,還可以完成對Excel表格、文本、圖形及無格式文件的處理,而且操作更加簡單、靈活,且減少了數(shù)據(jù)源層次和數(shù)據(jù)流量的使用量,大大提升了連接和訪問的速度及性能,進(jìn)而使用范圍幾乎普及到各種各樣的應(yīng)用程序,并為不同的數(shù)據(jù)源提供多機種環(huán)境的數(shù)據(jù)訪問。
3 結(jié)束語
隨著信息技術(shù)的不斷進(jìn)步和完善,數(shù)據(jù)庫訪問應(yīng)用于VB中的技術(shù)將會得到更大程度的發(fā)展,而作為最新的數(shù)據(jù)庫訪問技術(shù)的ADO較之其他應(yīng)用技術(shù)具有更強的功能和性能,已經(jīng)成為VB開發(fā)中的主流,值得業(yè)界進(jìn)行更深層次的研究和探索。
參考文獻(xiàn)
[1]王素芳.VB中數(shù)據(jù)庫訪問技術(shù)的應(yīng)用研究[J].科技視界,2014,12:55-56.
[2]曹風(fēng)華.剖析VB中的數(shù)據(jù)庫訪問技術(shù)[J].內(nèi)蒙古財經(jīng)學(xué)院學(xué)報(綜合版),2010,6:123-125.
作者簡介:劉環(huán)(1970,11-),女,山西晉城人,漢族,碩士研究生,講師,長治醫(yī)學(xué)院計算機教學(xué)部,主要研究方向:計算機應(yīng)用。