top
Loading...
VB訪問數據庫的方案比較
p>用VisualBasic訪問數據庫有許多可供選擇的方案,但是選擇那種方案 更能使開發隊伍和應用軟件在當前處于有利位置并且適應將來的發展方向呢?這些解決方案各有什么特點?本文將說明這些問題,幫助使用VB5 的用戶和準備使用VB5的用戶選擇和決定數據庫訪問方案。

當今,RDO2.0是VisualBasic訪問關系型ODBC數據源的最佳界面接 口,就如DAO/Jet是Jet和ISAM(順序索引查找方法)類型數據源首選的訪問接口一樣。這兩種方法都完整地集成于VisualBasic中,并且形成了Visual Basic核心的數據訪問策略。RDO2.0的數據訪問速度遠快于RDO1.0的訪問速度,并且RDO和DAO都已發展為相當成熟的技術。因此假如用戶需要訪問ODBC 數據源,可以使用RDO;如果需要訪問ISAM或Jet類型數據源,那么就使用DAO/Jet。

ActiveDataObjects(ADO)作為另一種可供選擇的技術出現,正 在逐漸代替其他數據訪問接口。由于RDO同ADO的體系結構非常相似,因此當需要將RDO數據接口轉換為ADO時,仍可以使用RDO設計的代碼。

有人曾提出這樣的問題:是否現在就使用ADO?雖然VB5使用ADO的數 據訪問接口是可能的,但對于目前ADO的使用狀況,將RDO2.0或DAO3.5同ADO做比較顯得意義并不很大。所以回答是:如果感覺方便,還是盡早轉移到ADO, 這意味著應用軟件對各種數據訪問接口將繼續予以支持。ADO是獨立于開發工具和開發語言的簡單而且容易使用的數據接口,同ADO相比,其他數據 訪問接口都會黯然失色。

所有的數據源都可以通過ADO來訪問,在今天已逐漸成為現實。

VB訪問數據庫技術的歷史

綜觀過去幾年,使用VisualBasic的客戶曾設計出數不勝數的程序 和組件來建立商務解決方案。大約80%以上的應用程序是用來訪問以下這些數據的:ASCII文本文件、SQL數據庫以及大型機數據庫。早期的VisualBasic 數據訪問工具只是簡單的ASCII文件的訪問工具,極少數SQLServer的前端應用程序是使用鮮為人知的數據接口VBSQL編寫的。然而,在VisualBasic 3.0時代許多用戶強調需轉移訪問包含遠程數據源的ISAM數據,為此Microsoft設計了MicrosoftJetDatabaseEngine(或簡稱為Jet)和DataAccess Object(DAO),使得VisualBasicAccess開發人員很容易地同Jet接口。直至前兩年,對VisualBasic和其使用者的需求又包含了更快的訪問遠程 數據和對ODBC數據源訪問的優化。

當討論哪種技術是最佳技術時,? 注意兩點:代碼的重用和開發 者實現所選擇的數據庫訪問方案的能力。設計者常常為實現或追求一種更特別的性能而使用有更多控件的奇異方案,這樣設計出來的應用程序只會 支持起來更復雜或維護時更困難。開發人員和他們的管理人員需要在Visual Basic的開發小組和各種數據庫接口開發小組中注意避免這種趨勢。這些 小組協調努力簡化VB5中的數據訪問接口會使程序的安全性和速度更好。VB5也包含了全新的查詢連接生成器,即UserConnection設計器,它使用Visual Basic新的ActiveX設計器體系結構,對要編程的數據訪問提供設計時的支持。允許在設計時創建連接和查詢對象(基于RDOrdoConnection和rdoQuery 對象),并把這些連接和查詢對象當作工程級對象,可預先設置屬性、定義新屬性和方法并給對象編寫代碼來捕捉事件。

這不僅為響應由連接和查詢而引起的事件,而且為在運行時調用已 有存儲過程和用戶定義的查詢提供了簡單的方法。使用UserConnection設計器這種技術,代碼可減少10倍,性能卻沒有任何損失。

現在用VB5來建服務器端組件或前端應用程序,可以使用的數據庫 接口方案至少有九種。每一種方案都可滿足用戶特定的需要,比如特殊的數據源和用戶開發的技能等。

VisualBasic訪問數據庫的 現狀

下面的表格(表一)列出了目前在VB5中有效的數據訪問接口方法,一部分 是簡單的應用程序接口界面(APIs),但大部分是組件對象模型界面(COM)。這兩類數據庫接口界面事實上在任何一種開發語言中都包括。

表 一

接口界面 訪問對象 16/32位支持
VBSQL 通過DBLibrary訪問微軟的SQL Server 16位和32位
DAO/Jet 本地的Jet/Access.MDB、順序索引數據庫(ISAM)和任何ODBC數據源。 16位和32位
DAO/ODBC Direct 任何一種ODBC數據源(經過RDO) 32位
RDO 2.0 任何一種ODBC數據源(Level I或II) 32位
ADO* 任何一種ODBC數據源和任何經過OLE DB界面接口的數據源 32位
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗