国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

數(shù)據(jù)庫訪問技術(shù)的研究

2011-10-26 07:22:24河南省對外科技交流中心張成鵬李怡君
河南科技 2011年9期
關(guān)鍵詞:客戶機(jī)數(shù)據(jù)源引擎

河南省對外科技交流中心 張成鵬 李怡君

鄭州市第六人民醫(yī)院 李 冬

數(shù)據(jù)庫訪問技術(shù)的研究

河南省對外科技交流中心 張成鵬 李怡君

鄭州市第六人民醫(yī)院 李 冬

一、研究背景

隨著計算機(jī)的產(chǎn)生和計算技術(shù)的不斷發(fā)展,以及科技的進(jìn)步特別是信息產(chǎn)業(yè)的發(fā)展,把我們帶入一個全新的信息時代。為此,人們需要收集、加工和處理大量的信息和數(shù)據(jù),數(shù)據(jù)庫技術(shù)是隨著數(shù)據(jù)和信息管理而產(chǎn)生的。在所有的數(shù)據(jù)庫系統(tǒng)中,關(guān)系型數(shù)據(jù)庫是目前應(yīng)用最為廣泛的數(shù)據(jù)庫之一。

由于不同數(shù)據(jù)庫應(yīng)用程序開發(fā)工具有不同的訪問方式,而且不同的數(shù)據(jù)供應(yīng)商又提供了不同的接口,致使用戶在使用開發(fā)工具進(jìn)行數(shù)據(jù)庫應(yīng)用程序開發(fā)時,對不同的訪問方式產(chǎn)生了迷惑和不解,不知道哪一種訪問方式的效率和效果最好。本文,筆者探討了常用數(shù)據(jù)庫應(yīng)用程序開發(fā)工具對不同數(shù)據(jù)庫的訪問方式。其中,數(shù)據(jù)庫應(yīng)用程序開發(fā)工具以VB、ASP為例,數(shù)據(jù)庫以Access、SQLServer和Oracle為例。

VB和ASP都是微軟提供的系統(tǒng)開發(fā)工具。VB是微軟VisualStudio集成開發(fā)工具中的一個開發(fā)工具,它既可以開發(fā)單機(jī)結(jié)構(gòu)數(shù)據(jù)庫應(yīng)用程序,又可以開發(fā)C/S結(jié)構(gòu)的應(yīng)用系統(tǒng)。VB使用DAO、RDO、ADO數(shù)據(jù)庫訪問方式。ASP也是微軟提供的一個開發(fā)工具,主要用于開發(fā)B/S結(jié)構(gòu)的應(yīng)用程序,ASP使用ADO數(shù)據(jù)庫訪問方式。下面,筆者分別介紹一下以上3種方式對Access、SQLServer和Oracle的訪問技術(shù)。

二、數(shù)據(jù)庫訪問對象DAO

數(shù)據(jù)庫訪問對象(DataAccessObject,簡稱DAO),它是一組以數(shù)據(jù)庫引擎(TheJetDataBaseEngine)為核心而建立起來的動態(tài)連接庫(DLLS)。DAO支持2種不同類型的數(shù)據(jù)庫環(huán)境:利用MicrosoftJetDataBaseEngine,使得DAO成為訪問本地ISAM數(shù)據(jù)庫的最佳手段;利用ODBCDirect,使得DAO在訪問ODBC類型數(shù)據(jù)庫時擁有最小的額外開銷。

1.DAO可存取的數(shù)據(jù)庫。DAO可以存取本地DAO數(shù)據(jù)庫,即MicrosoftAccess和ODBC數(shù)據(jù)庫,包括SQLServer、Oracle、Sybase和任何提供ODBC驅(qū)動的客戶機(jī)/服務(wù)器數(shù)據(jù)庫,以及FoxPro、Lotus、文本文件等內(nèi)容。

以上每個數(shù)據(jù)庫源都提供了不同的安全等級。DAO的主要目的就是將程序員從每個數(shù)據(jù)庫的細(xì)節(jié)中解脫出來而向他們提供統(tǒng)一的API接口。

2.DAO的基本對象。DAO中有3個最基本的對象:DBEngine、Workspce和DataBase。

(1)DBEngine。DBEngine對象用于數(shù)據(jù)庫引擎指定系數(shù)參數(shù),DBEngine中的DefaultType屬性用于描述缺省的Workspace類型。如果其屬性設(shè)置為dbUseODBC,則使用ODBCDitect模式。Workspace對象作為一個打開的數(shù)據(jù)庫的容器。

(2)Workspace。Workspace為打開的數(shù)據(jù)庫提供安全的設(shè)備環(huán)境。在創(chuàng)建DBEngine的同時,程序自動創(chuàng)建了一個缺省的Workspace對象,用來指定訪問數(shù)據(jù)庫的用戶名和口令。

(3)Database。Database對象封裝了數(shù)據(jù)庫存儲器,并且還定義了數(shù)據(jù)庫的表格、關(guān)系、存儲查詢及打開記錄等。

三、遠(yuǎn)程數(shù)據(jù)對象RDO

遠(yuǎn)程數(shù)據(jù)對象(RemoteDataObject,簡稱RDO)是位于ODBCAPI之上的一個對象模型層,它依賴ODBCAPI、選定的ODBC驅(qū)動程序以及后端數(shù)據(jù)庫引擎來實(shí)現(xiàn)大部分的功能。RDO具備基本的ODBC處理方法,所以可以直接執(zhí)行大多數(shù)ODBCAPI函數(shù)。RDO已包含在VB4.0/5.0企業(yè)版中,由一個動態(tài)連接庫MSRDO32.DLL來實(shí)現(xiàn)。

1.RDO數(shù)據(jù)庫接口。RDO面向客戶機(jī)/服務(wù)器程序的特殊需求提供了一組對象以輔助這種程序的開發(fā)。與DAO提供的Jet數(shù)據(jù)庫引擎接口不同,RDO提供的是一個直接與ODBCAPI連接的面向?qū)ο蟮某橄髮?。RDO使用ODBCAPI和數(shù)據(jù)庫服務(wù)器驅(qū)動器創(chuàng)建到數(shù)據(jù)庫服務(wù)器的鏈接,創(chuàng)建查詢和用于瀏覽結(jié)果設(shè)計集的游標(biāo),并且依賴數(shù)據(jù)庫服務(wù)器執(zhí)行復(fù)雜的請求過程。它不像DAO那樣,利用Jet數(shù)據(jù)庫引擎進(jìn)行查詢的預(yù)處理和連接管理,而是直接與數(shù)據(jù)庫服務(wù)器交互,這使得RDO特別適用于客戶機(jī)/服務(wù)器型應(yīng)用程序的開發(fā)。

2.RDO的基本對象。要想正確地使用RDO,必須要對其對象模塊結(jié)構(gòu)加以理解。在RDO的對象和集合中,有很多對數(shù)據(jù)庫的狀態(tài)和設(shè)定進(jìn)行操作的屬性,以及對數(shù)據(jù)庫進(jìn)行操作的方法。RDO主要包括rdoEngine對象、rdoEnvironment對象和rdoConnection對象。

(1)rdoEngine對象。最初調(diào)用RDO對象以及RDC(遠(yuǎn)程數(shù)據(jù)控件)時,系統(tǒng)會自動生成rdoEngine對象的附帶事件。rdoEngine用于對RDO全局屬性的參數(shù)和選項(xiàng)進(jìn)行設(shè)置,是RDO的階層結(jié)構(gòu)內(nèi)最上層的對象,包含了其他所有的對象。

(2)rdoEnvironment對象。DAO對象在自動創(chuàng)建rdoEngine對象時,生成rdoEnviroment對象的初始值并保存為rdoEnviroments(0)。在一般情況下,應(yīng)用程序中不必追加rdoEnvironment對象,大多數(shù)只需對已有的rdoEnviroments(0)進(jìn)行操作就可以了。只有在支持1個以上事務(wù)(Transaction)時,需要將用戶名和口令信息分別處理,利用rdoCreateEnvironment方法將特定的用戶名和口令值做成新的rdoEnvironment對象。

(3)rdoConnection對象。rdoConnection對象用于同SQL Server的連接管理,下面是與SQLServer連接的例子。

首先用New關(guān)鍵字聲明一個rdoConnection對象,由此生成獨(dú)立的連接對象,這時它還不是rdoConnection集合的成員。然后在具體連接到SQLServer數(shù)據(jù)庫之前,設(shè)定rdoConnection集合的屬性。

四、ActiveX數(shù)據(jù)對象ADO

ActiveX數(shù)據(jù)對象(ActiveXDataObject,簡稱ADO)。API是另一種用于開發(fā)訪問OLEDB數(shù)據(jù)源應(yīng)用程序的API。有很多種程序設(shè)計語言都支持ADO,包括VisualBasic、VisualC++、VBScript、VisualJ++和ActiveServerPage等。

1.OLEDB數(shù)據(jù)庫接口。OLEDB是COM模型的數(shù)據(jù)庫接口。它是一系列的接口集合,介紹了一種通用的數(shù)據(jù)訪問方法。也就是說,OLEDB并不局限于ISAM、JET甚至關(guān)系數(shù)據(jù)源,而是能夠用于處理任何類型的數(shù)據(jù)。OLEDB向應(yīng)用程序提供1個統(tǒng)一的數(shù)據(jù)訪問方法,而不考慮它們的格式和存儲方法。ADO集合了DAO和RDO的優(yōu)點(diǎn),而且它不像DAO和RDO那樣嚴(yán)格遵循對象的層次關(guān)系。這就意味著ADO對象更容易創(chuàng)建和操縱,因?yàn)樗鼈兌伎梢灾苯拥貏?chuàng)建和管理。ADO更適用于開發(fā)C/S和B/S結(jié)構(gòu)的應(yīng)用程序。圖1說明了一個典型ADO應(yīng)用程序的配置。

2.ADO的基本對象。

(1)Connection對象。一個Connection對象代表1個到指定數(shù)據(jù)源的成功連接,應(yīng)用程序通過鏈接訪問數(shù)據(jù)源,也可以直接訪問數(shù)據(jù)源,或者通過類似MicrosoftInternetInformationServer的中間層間接訪問數(shù)據(jù)源。鏈接成功后,Connection以對象的形式存在。

(2)Command對象。Command對象是對數(shù)據(jù)源執(zhí)行的一系列操作的定義。使用Command對象來查詢數(shù)據(jù)庫并返回數(shù)據(jù)集對象形式的查詢結(jié)果。Command對象指定變量和參數(shù)來完成對數(shù)據(jù)的操作,如添加記錄、刪除記錄和更新紀(jì)錄等。

(3)Recordset對象。如果命令行指定數(shù)據(jù)以表的形式組織,執(zhí)行命令后將返回相應(yīng)的數(shù)據(jù)集。通過數(shù)據(jù)集可以對記錄以及組成記錄的列進(jìn)行各種操作,如添加、修改和刪除等操作。

猜你喜歡
客戶機(jī)數(shù)據(jù)源引擎
Reducing the global cancer burden with gastrointestinal screening: China’s 30 years practice
Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
藍(lán)谷: “涉藍(lán)”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價研究
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價算法
基于Cocos2d引擎的PuzzleGame開發(fā)
分布式異構(gòu)數(shù)據(jù)源標(biāo)準(zhǔn)化查詢設(shè)計與實(shí)現(xiàn)
瘦客戶機(jī):安全與便捷的選擇
基于Web數(shù)據(jù)提高訪問速度的方法
万州区| 明光市| 大宁县| 宜黄县| 古交市| 岢岚县| 揭东县| 吉林省| 历史| 桑植县| 策勒县| 乡宁县| 利辛县| 兰考县| 汕尾市| 涿鹿县| 汉沽区| 枣强县| 八宿县| 隆德县| 巴彦淖尔市| 福海县| 富民县| 岢岚县| 仪陇县| 博白县| 沅陵县| 游戏| 铅山县| 江安县| 榆树市| 西平县| 读书| 罗山县| 麦盖提县| 章丘市| 成安县| 靖宇县| 吉林省| 平陆县| 班戈县|