已阅读5页,还剩91页未读, 继续免费阅读
(计算机系统结构专业论文)基于net架构的web数据库访问技术研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着i n t e r n e t 的飞遽发展,w w w ( w o r l dw i d ew e b ) 得到了很大的发展。w w w 是i n t e r n e t 交流行最主要戆信惑辙务方式,餮瓣系统蠢数箍疼是潮络纯售惑鼹务 的熬础,w e b 技术和数据库技术棚结合成为当前研究的热点,其中关键就是w e b 数攥库访阍技术。传绩的数据库访勰技术融灏渐不能满足怒速存取、断开连接存 取和内置的全面的x m l 支持等的需要,研究i n t e r n e t 的数据库访问技术也就成 为数据库研究的主要方向之一。 酉薷鏊本的数据痒访闷技术主要有凝、基予b c 的d a o 粒r d o 、j d b c 、 o l ed b a d o ,他们都是在不同时期出现并被广泛使用的技术,很多技术现在仍很 滚行。恧鬻耀戆w e b 数据黪访闽实瑗技术主要皂捂c g i 、i s a p i 、a s p 、p h p 、j s p , 这蝗技术备有自己的优缺点和适宜场合,仍被广泛采用来编写w e b 应用程序。随 着微软n e t 的推出,a s p n e t 为编写大量的w e b 应用程序辩来了巨大的变革。本 文繁重莸n e tf r a m e w o r k 酌最新数据库谤润技术a d o n e t 豹体系结构、对象 模型、各个对象的熬点特性等进行了深入而详细的分析和研究。就a d o n e t 在w e b 应籍中主器瞧毙撬纯包援嚣秘+ n e t 数攥疆拱鬏痔鞋能饯证、毙较嚣逸择, r e c o r d s e t 、d a t a r e a d e r 、d a t a s e t 的适用场合和能能比较分析,遗接池优化,存 储过程的优化;安全性等作了深入的探究并给出了相关的测试数据和分柝。还 就n e t 架构、a s p n e t 的核心及会话状态藏础技术进行了研讨。撵出了在n e t 环 境下如何开发高效的面向i n t e r n e t 的数据库访脚应用,这些探讨对于目前大量 均w e b 数攒痒应溺程痔静开发具露较大戆实羯寒攒导意义。 基于上述w e b 数据库访问技术研究,根据天光科技公司的实际需求,设计并 实现了b s 模式弱迤子耀蹩室系绕。该系绫基于。n e t 平螽,采用a d o n e t 数据 访问技术和相关性能优化技术,利用c # 语言设计实现。此系统由表示层、数据逻 辑层和数擐层组成。表示艨处在客户端,豳一个通用的浏监器支持。事务、数据 递辑屡,充当中满代理静角色,藏是通常掰说韵藏用服务器。后念是s q l s e r v e r 数据库服务器。该电子阅览室系统的业务逻辑层使用a d o n e t 技术进行数据库访 问,运芎亍在w e b 黢务器蠛,剥用a d o 。n e t 连接漶技术,搜翅s 瓯s e r v e r n e t 数 据提供程序,数据照新大擞采用存储过程,d a t a r e a d e r 和d a t a s e t 混合使用,安 全啦数据连接、应用程序代码和数据库用户身份验证及权限体系等技术。大大提 高驻蠲程序的数攒访简效率和褴熊。最后还讨论了a d s i 焱该系统中的应_ 麓。 在电予阅览堂系统的设计和实现中,由我全蕊负责熬个系统开发的计划、实 藏鞠控翻。我主要宠残系统翁需求分辑,系统豹设计,数攥痒设计帮8 0 鹣编鹞 工作。 关键词:数据库访问;a d o n e t ;w e b ;对象模型;电子阅览室; a b s t r a c t w i t ht h ed e v e l o p i n g r a p i d l yo f i n t e m e t ,w w w ( w o r l dw i d ew e mh a sg o tt h ev e f v b i gd e v e l o p m e n t w w wi st h em o s tp o p u l a ra n dl e a d i n gi n f o r m a t i o ns e r v i c em e t h o d w w w s y s t e ma n dd a t a b a s ea r et h ef o u n d a t i o n so fn e t w o r ki n f o r m a t i o ns e r v i c e t h e t e c h n i q u e o fw e bh a sb e c o m et h ec u r r e n tf o c u so fr e s e a r c hw i 镪t h ed a t a b a s e t e c h n i q u e ,t h ek e yi saw e b d a t a b a s ea c c e s s t e c h n i q u e t h et r a d i t i o n a ld a t a b a s ea c c e s s t e c h n i q u ec a n ts a t i s f yl i t t l eb yl i t t l et h ed e m a n do fh i g hs p e e da c c e s s ,t h ed a t aa c c e s s o nb r o k e nc o n n e c t i o na n d c o m p l e t es u p p o r to f x m l e t e t h es t u d yo f d a t a b a s ea c c e s s t e c h n i q u eb a s e d o ni n t e r n e th a sb e c o m eo n eo f m a i nd i r e c t i o no f d a t a b a s er e s e a r c h c u r r e n tb a s i cd a t a b a s ea c c e s st e c h n i q u ep r i m a r i l yc o n t a i no d b c ,d a oa n dr d o b a s e do no d b c ,j d b c ,o l ed b a d o ,t h e ya p p e a rs e p a r a t e l yo nd i f f e r e mp e r i o d a n du s e db r o a d l y ,al o to f t e c h n i q u e sa r es t i l lv e r yp o p u l a rn o w g e n e r a l w e bd a t a b a s e a c c e s sr e a l i z i n gt e c h n i q u ei n c l u d e st h ec g i ,i s a p i ,a s p ,p h p ,j s pp r i n m r i l y ,t h e s e t e c t m i q u e se a c h h a v et h e i ra d v a n t a g e s ,s h o r t c o m i n g sa n dt h ep r o p e rs i t u a t i o n s ,s t i l la r e e x t e n s i v e a d o p t e d t ow r i t et h ew e b a p p l i c a t i o np r o g r a m a l o n g w i t ht h e m i c r o s o f t n e tr e l e a s i n g ,t h ea s p 。n e t b r i n g se n o r m o u s v a r i e t i e sf o rw r i t i n gaf l o o d o fw e ba p p l i c a t i o np r o g r a m t h i sp a p e ri n v e s t i g a t e s t h o r o u g h l yt h ep e r f o r m a n c e o p t i m i z eo f a d o n e to nw e b a p p l i c a t i o n w h i c hi n c l u d e sc o m p a r i s o n 、c h o i c ea n d p e r f o r m a n c eo p t i m i z eo f f o u rk i n d so f n e td a t ap r o v i d e r , a p p l i c a b l eo c c a s i o na n d p e r f o r m a n c ea n a l y s i s o fr e c o r d s e t ,d a t a r e a d e ra n dd a t a s e t ,c o n n e c t i o np o o l o p t i m i z e ,o p t i m i z eo f s t o r e dp r o c e d u r e ,s e c u r i 秽e t ca n dg i v e sar e l a t e dt e s td a t aw i t h a n a l y s i s i na d d i t i o n 、i td i s c u s s e s n e ts t r u c t u r e 、a s p n e tc o r ea n ds e s s i o ns t a t e f o u n d a t i o nt e c h n i q u ea n d p u t sf o r w a r d t h a th o wt od e v e l o pe f f i c i e n t l yd a t a b a s ea c c e s s a p p l i c a t i o no ff a c i n gt o t h ei n t e r a c to n n e te n v i r o n m e n t 。t h e s es t u d i e sp r o v i d e b i g g e rp r a c t i c a l v a l u e sa n d g u i d i n gm e a n i n g f o ra g r e a t d e a lo ft h ec u r r e n t d e v e l o p m e n t o f d a t a b a s e a p p l i c a t i o n o nw e b b a s e do nt h ea b o v ew e bd a t a b a s ea c c e s st e c h n i q u es t u d i e s ,a c c o r d i n gt oa c t u a l n e e do ft i a n g u a n gs c i e n c e & t e c h n o l o g yc o m p a n y ae l e c t r o n i c sr e a d i n gr o o m s y s t e mo f b sm o d eh a sb e e n d e s i g n e da n dr e a l i z e d t h a ts y s t e mo n n e tp l a t f o r m i s r e a l i z e dw i t he 嚣l a n g u a g eb ya d o p t i o na d o , n e td a t aa c o 。e s st e c h n i q u ea n dr e l a t e d p e r f o r m a n c eo p t i m i z et e c h n i q u e t h i ss y s t e mc o n s i s t so f p r e s e n t a t i o nl a y e r 、d a t ai o g i c l a y e ra n dd a t al a y e r t h ep r e s e n t a t i o nl a y e ri sp l a c e d i nc l i e n ta n y w h e r es u p p o r t e db y g e n e r a lb r o w s e r b u s i n e s sd a t al o g i cl a y e ra sc e n t e ra g e n ti su s u a l l yn a m e da p p l i e d s e r v e r t h eb a c k s t a g ei sas q ls e r v e rd a t a b a s es e r v e r t h eb u s i n e s sl o g i cl a y e ro ft h e s y s t e mh s e sa d o n e tt e c h n i q u ec o n n e c t i n ga n da c c e s s i n gd a t a b a s e ,i tr u n sa tt h e w e b s e r v e r ,m a k e su s eo f c o n n e c t i o n p o o lt e c h n i q u ea n da d o p t ss q l s e r v e r n e td a t a p r o v i d e r s ,t h el a r g eq u a n t i t y s t o r e d p r o c e d u r e s i s a d o p t e d t or e f r e s h d a t a ,t h e d a t a r e a d e ra n dd a t a s e ta r em i x e dt ou s c ,s a f ed a t ac o n j u n c t i o n ,a p p l i c a t i o np r o g r a m c o d ea n dd a t a b a s ea c c o u n tb o d yav e r i f i c a t i o na n dl e g a lp o w e rm a n a g e m e n te t c t e c h n i q u e a r eu s e d s u c ht h i n g se n h a n c ec o n s u m e d l yd a t a 日t c c e s s e f f i c i e n c y a n d p e r f o r m a n c eo fa p p l i c a t i o np r o g r a m t h ef i n a l l y a d s ia n di t s a p p l i c a t i o n i nt h e s y s t e m a r ed i s c u s s e dt o o , i nt h e p r o c e s so f d e s i g n i n g a n dr e a l i z a t i o no f t h ee l e c t r o n i c sr e a d i n gr o o ms y s t e m ic o m p l e t e l ya n lr e s p o n s i b l ef o rt h ew h o l es y s t e md e v e l o p m e n to fp l a n n i n g ,p u t t i n g i n t op r a c t i c ea n dc o n t r o l l i n g ip r i m a r ya n a l y z et h er e q u e s tt h es y s t e m ,t h ed e s i g no f t h es y s t e m ,d a t a b a s ed e s i g na n d8 0 c o d i n gw o r k 。 k e y w o r d :d a t a b a s ea c c e s s ;a d o , n e t ;e l e c t r o n i cr e a d i n gr o o m ;w e b ;o b j e c tm o d e l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:叶安胜日期:呻啐年z 月以日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:兰j = 塞丝导师签名:萋之篁舀 日期:p 丫年& 月o 日 基于n e t 架构的w e b 数据库访问技术研究与应用 1 1 数据源 第一章引言 w e b 应用程序涉及到大量的信息来源,大致的数据类型有以下几种: 数据库,通常提供最为可靠、伸缩性最大和最安全的数据存储,同时也提供 最好的性能,它用于存储大量数据并可以任意的顺序检索任意数量的数据。 文本文件,这是与w e b 站点存储数据相对节省空间的方式,可以用几乎所有 的格式存储信息,通常用于存储一组数据,每行一个数据项。 x m l ,它是一个表示数据的强大方法,使用文本文件存储数据,使用分层的 关联的格式,而且可扩展和自描述,并提供了数据库系统的许多优点,如果对于 大量的数据,更新和检索可能是一个问题。 其他适合于特定领域的数据源,如m i c r o s o f te x c h a n g es e r v e r 一包含电子 邮件、日历和聪系方式的数据存储;a c t i v ed i r c t o r y 一基于w i n d o w s 的服务器存 储的信息有关的系统上的用户、权限等信息;s p r e a d s h e e t s 一以表形式存储的数 据。 不管数据存储是哪一种,每个应用程序要使用这些数据都必须连接到这些数 据存储,读取和转换,显示这些数据。 1 2 w e b 页面概述 1 2 1 静态w e b 页面 静态页面就是其内容是由一些h t m l 代码组成的页面,且这些代码可以直接 输入到文本编辑器之中,并保存为h t m 或h t m l 文件,在访问之前,完全确定了 页面的内容。 静态w e b 页面具有局限性。不具备个性化的w e b 页面功能,即不具备动态特 征:另外没有任何的安全措施。 1 2 2 动态w e b 页面 目前创建动态w e b 页面,大致有两种不同的模型: 1 客户端动态w e b 页面 在客户端模型中,附加到浏览器上的模块( 即插件) 完成创建动态页面的全 部工作。通常h t m l 代码包含一套指令的单独文件传送到浏览器,该文件在h t m l 页面中引用,另外或者这些指令与h t m l 代码混合在一起。当用户请求w e b 页面 基于n e t 架构的瓶b 数据库访问技术研究与应用 时,浏览器利用这些指令为页面生成纯h t m l 。 这种技术也有缺陷。首先需要长时间的下载,特别是当需要下载多个文件时; 其次每一个浏览器以不同的方式解释客户端脚本代码,无法保证所有的浏览器都 能理解;再者是当编写使用服务器端资源( 如数据库) 的客户端代码时,代码在 客户端被解释,非常不安全。 2 服务器端动态w e b 页面 利用服务器端模型,h t m l 源代码与混合在其中的一套指令被传回到w e b 服务 器。当用户请求页面时,这套指令用于给页面生成h t m l ,页面根据请求动态生成。 1 2 3 动态页面技术概述 1 提供动态内容的客户端技术 这类技术都依赖于内置在浏览器中的模块( 即插件) 来处理指令,客户端技 术就是脚本语言、控件以及功能完善的编程语言的综合。这类技术包括: j a v a s c r i p t 。它是最早的浏览器脚本语言。用于给其w e b 服务器和浏览器 增加交互功能。所有的浏览器都支持,语法借用了j a v a 的一些语法和基本结构。 v b s c r i p t 。是m i c r o s o f t 推出的脚本语言,基于v i s u a lb a s i c ,语法简 单易学,但运行速度慢,效率低,只有微软浏览器支持。 j a v a 小应用程序。j a v a 是用于开发应用程序的跨平台语言,这些小应用 程序借助于 a p p j e t ) 标记插入到w e b 页面中形成j a v a 组件。可为诸如图形功能、 文件处理等提供较好的支持,也可通过j d b c 提供强有力的数据库支持。且不牺 牲安全性。通过j a v a 虚拟机( j a v av i r t u a lm a c h i n e ,j w ) 得到了内置的j a v a 支持。j a v a 小应用程序要下载到浏览器上后,还要占用时间在j v m 上执行和处理。 f l a s hm a c r o m e d i a 的f l a s h 是w e b 上的动态图形工具,它允许开发人员创 建动画、交互式的图形和用户界面元素。使用和浏览f l a s hw e b 页面的插件已经 是浏览器的标准。因而广受欢迎。 2 提供动态内容的服务器端技术 提供动态内容的服务器端技术依赖于w e b 服务器端的模块,只有h t m l 和客 户端脚本通过w e b 服务器传递到浏览器。包括如下的一些技术: c g i 公共网关接口( c o m m o ng a t e w a yi n t e r f a c e ,c g i ) 是在服务器上创建 脚本的一种机制,可用来创建动态w e b 应用程序。它是通过调用w e b 服务器上的 另一个程序并将用户提供的数据传递给该程序进行处理来创建动态w e b 应用程 序。缺点是:初学者不易掌握编写这样的模块;会占用许多的服务器资源;需要 另外运行c g i 程序提供动态内容等。 基于n e t 架构的w e b 数据库访问技术研究与应用 a s p 动态服务器页面( a c t i v es e r v e rp a g e s ,a s p ) ,依赖脚本语言创建动 态w e b 页面。a s p 是一个用附加到其w e b 服务器上的模块a s p d 1 1 在w e b 服务器 上处理这些脚本,然后转换成h t m l 。能够提供数据库存取、图形处理、网络功能、 系统功能等,但性能低下,脚本语言功能不完善。 j s pj a v as e r v e rp a g e s ( j s p ) 是允许用户将标记( h t m l 或x m l ) 与j a v a 代码组合,动态生成w e b 页面的技术。主要的优点是代码在不同的服务器间的兼 容性,功能强大,运行速度快于a s p 。j s p 允许j a v a 程序利用j a v a2 平台的 j a v a b e a n s 和j a v a2 库。 c o l d f u s i o n 能够使服务器在创建h t m l 页面时访问数据。它是安装在w e b 服务器上的模块。利用h t m l 样式的标识符,将功能封装,并由c o l d f u s i o n s e r v e r 软件处理。该服务器软件可运行在不同的平台上。不是免费的。 p h p 指超文本预处理程序( h y p e r t e x tp r e p r o c e s s o r ) ,也是一种脚本语 言,当访问者打开页面时,服务器处理p h p 命令,并将结果传回浏览器。具有开 放的源代码和跨平台,缺点是安装复杂、会话管理功能弱。 a s p n e t 依赖附加到w e b 服务器上的模块,a s p n e t 模块 ( a s d n e ti s a p i d l l 是物理文件) 本身并不处理所有工作,而将一些工作传递 到n e t 架够中进行处理,后续会作较为详细介绍,它是目前的首选。 1 3w e b 与数据库技术的结合 随着i n t e r n e t 的飞速发展,w w w ( w o r l dw i d ew e b ) 得到了很大的发展。w w w 是一个基于i n t e r n e t 的、全球连接的、分布的、动态的、多平台的交互式图形 超文本信息系统:它利用多种协议去传输和显示驻留在世界各地计算机上的多媒 体信息源。同时w w w 又极大的推动了i n t e r n e t 的发展,成为i n t e r n e t 最流行、 最主要的信息服务方式,普遍采用w e b 页进行信息存储与传递,因此,w w w 系统 和数据库是网络化信息服务的基础。i n t e r n e t 用户主要通过访问站点以获取信 息。而大部分的站点都是静态的或者由发布者隔一段时间对其进行修改a 如何才 能得到动的页面? 这就是由数据库w w w 服务器来完成。通过w e b 页面实现对数据 库访问的基本框图见图卜1 : 图1 - 1 通过w e b 页对数据库访问模型 w e b 客户机指只需要带w e b 浏览器的客户端,w e b 服务器指任何基于h t m l 的 基于n e t 架构的w e b 数据库访问技术研究与应用 服务器软件,如m i c r o s o f t 的i i s ( i n t e r n e ti n f o r m a t i o ns e r v e r ) 。数据库应 用程序驻留在w e b 服务器上,最终用户通过w e b 浏览器生成大量的数据库应用程 序。浏览器借助h t t p 协议,通过i n t e r n e t 与w e bs e r v e r 通信。 中间件( m i d d l e w a r e ) 负责管理w e b 服务器和数据库之间的通信并提供应用 程序服务。它能直接调用外部程序或脚本代码来访问数据库,提供与数据库相结 合的动态h t m 页面,然后通过w e b 服务器返回给用户浏览器。 数据库服务器负责管理驻留在数据库服务器中的数据。 1 4 国内外文献综述 w e b 数据库技术是i n t e r n e t 技术和数据库技术共同的发展方向,也是 i n t e r n e t 应用研究的关键。w e b 数据库是个新的研究领域。v l d b 9 7 上出现了6 篇与w e b 数据库相关的论文,探讨了重要的w e b 数据库问题:模型和语言问题、 w e b 数据集成问题、查询结果相关度确定问题。9 9 年在台湾新竹召开的第六届国 际数据库高级应用会议( 简称d a s f a a 9 9 ) 上把w e b 数据库作为第一个专题,体 现了当前w e b 技术和数据库技术融合的大趋势。 w e b 数据量大、类型多,管理不足,而数据库技术发展成熟,结构严谨,在 这方面有很大的优势。因此,数据库技术与w e b 技术的结合己成为当前研究的热 点,其中最关键的技术就是w e b 数据库访问技术。 国内对数据库访问技术的研究包括o d b c ,d a o ,r d o ,j d b c ,o l ed b a d o 讨 论比较多,对a d o n e t 研究正热,如何提高数据访问效率和性能都未很深入探讨。 1 5 研究背景、目的和意义 自从有了数据库,人们就开始研究如何在程序中访问数据库。先是访问本机 的数据库,然后是采用客户服务器方式访问服务器的数据库,发展到现在是通过 i n t e r n e t 访问服务器上的数据库。 数据库访问技术在过去的几年发展得非常快,从o d b c ,j d b c ,o l e d b a d o 等。 随着w e b 交互性的日益提高和应用的日益广泛,对于第三层中间层的需求也 越来越突出。中间层是一个逻辑层,数据访问组件通常就在这一层上。数据访问 组件是惟一有必要了解数据库细节的代码。今天,基于w i n d o w s 的w e b 数据访问应 用程序充分利用了a d o 丰富的、方便的编程接口。 随着应用程序开发的发展,基于w e b 应用程序模型越来越松散地耦合;采 用x m l 将数据编码并在网络连接间传递;数据库连接通常都是断开的;w e b 应 用程序将h t t p 用作在层间进行通信的结构,必须显式的处理请求之间的状态 维护等。这些特点使得基于c 0 i d 的a d o 很难在一个分布式、异种平台构成的环境中 基于n e t 架构的w e b 数据库访问技术研究与应用 使用记录集,对i n t e r n e t 上的高度分布式环境来说它更显得有些烦琐或不适合。 恰逢此时,微软的n e t 架构下的a d o n e t 技术正好满足这一切。 本论文以天光电子阅览室项目为背景,就n e t 架构下的数据库访问技术 一a d o n e t 作了深入的研究和探讨,就其中的相关性能的优化等作详尽的比较、 讨论和测试分析,对与具体的项目天光电子阅览室系统应用结合起来,大大 提高了数据库访问的效率和性能。对于目前大量类似的w e b 应用程序的开发具有 重要的现实意义和实用价值。 1 6 课题来源和文章安排 本课题来源于四川省天光科技实业有限责任公司的项目,天光基础教育信息 系统的两个子项目天光电子阅览室系统和天光图书管理系统( 包括网上图 书馆) 。 这两个系统都有我负责组织实施开发,其中两个项目都由我负责系统的分 析,数据库设计,详细设计和大部分的编码等工作。其中电子阅览室系统的8 5 的编码都由我完成,而图书管理系统的4 0 的编码由我完成。系统的测试和相关 使用说明书另外安排的。 本文第二章分析了基本的数据库访问技术;第三章比较了目前常用的w e b 数 据库访问相关实现技术;第四章重点详细而深入的研究了a d o n e t 数据库访问技 术,并给出其了主要的性能分析和优化技术,第五章对n e t 架构和a s p n e t 及状 态管理基础进行了讨论;第六章基于第四章的a d o n e t 技术研究和分析,设计和 实现了一个在n e t 环境下,高效率的电子阅览室系统项目;第七章是全文的总结; 最后是附录、参考文献和致谢。 基于n e t 架构的w e b 数据库访问技术研究与应用 第二章基本数据库访问技术 2 1 开放数据库连接( o d b c ) 2 1 1o d b c 定义 o d b c ( o p e nd a t a b a s ec o n n e c t i v i t y ) 称为开放式数据库系统互连,是由微软 公司开发和定义的一套数据库访问的统一界面标准。是一种重要的数据库访问 a p i ,独立于数据库,建立在x o p e n 的结构化查询语言调用层接口基础上,即: 基于结构化查询语言( s q l ) 并使用s q l ,可大大简化其应用程序设计接口( a p i ) 。 通过o d b c ,我们能够使w e b 服务器和各种数据库服务器相连,它为异质数据库的 访问提供了一个统一的接口。使得应用程序能够按照相同的方式访问各种不同结 构的数据库。 2 1 2o d b c 的基本思想与体系结构 o d b c 基本思想是提供独立程序来提取数据信息,并具有向应用程序输人数据 的方法。由于有许多可行的通信方法、数据协议和d b m s 能力。所以o d b c 方案可 以通过定义标准接口来允许使用不同技术,这种方案导致了数据库驱动程序的新 概念一动态链接库( d d l ) 。应用程序可按请求启动动态连接库,通过特定通信 方法访问特定数据源,同时o d b c 提供了标准接口,允许应用程序编写者和库提 供者在应用程序和数据源之间交换数据。 为了保证标准性和开放性,o d b c 的结构分为四层。应用程序( a p p l i c a t i o n ) 、 驱动程序管理器( d r i v e rm a n a g e r ) 、驱动程序( d r i v e r ) 、数据源( d a t as o u r c e ) 。 驱动程序管理器与驱动程序对于应用程序来说都表现为一个单元它处理o d b c 函数调用( 如图2 1 所示) 。 图2 - 1 基于客户机n 务器的o d b c 体系结构 o d b c 的功能架构如下 基予。n e t 粲构的w e b 数销瘁访问投术研究与应用 ( 1 ) 应粥程序( a p p l i c a t i o n ) 应用程序本身不直接与数据库打交道主要负责处理并调用o d b c 函数发送 对数据瘁的s q l 请求及取得结巢。 ( 2 ) 驱渤程序管理器( d r i v e rm a n a g e r ) 驱动程序管溪器是一个蒂膏输a 程澎懿兹态连接瘁( d l l ) ,主要嚣魏是热载 驱动程序,处理o d b c 调用的初始化调用,提供o d b c 调用的参数有效性和序列有 效瞧。 ( 3 ) 驱动程序( d r i v e r ) 驱动疆彦是一个竞成菠薅数调臻并与数摄之闽糖互影晾豹d 抚,濑应甥程 序调用s q l b r o w 8 e c o n n e e t 0 ,s o l c o n n e c t 0 或s q l d r i v e r c o n n e c t ( ) 函数时,驱动 程序管璁器装入驱动程序。 ( 4 ) 数据源( d a t as o u r c e ) 包括用户想访阀的数据以及与其相关的操作系统、d b m s 和用于访问d 蹦s 的 网络平台。 o d b c 接口的忧势之一为最大限度冉勺提供互操作性,程序设计员可以往不指窟 特定数攥源情况下剖建o d b c 应用程序。胰应舔程序角度方覆,为了使每个錾麓 程序和数据源都支持相阊的o d b c 函数调用和s q l 语句集,o d b c 接口定义了一致 程缀象,郎o d b ca p i 一致经鞍o d b cs q l 语法一致蛙。致蛙级舅l 透过建立拣壤 功能集米帮助应用程序和驱动稷序的开发者,_ 陂用程序可以很容易地确定驱动程 序是否掇供了磁 蔫的功能,驱动程序可被开发以支持应髑程序选项,藤不用考虑 由每个应用程序的特定请求。一个应用程序可以通过一组通用的代码访问不同的 数据管理系统,开发者不会被寒缚在特定的数据库之上,即使在升级和更改数据 库系统时也不需要更改应用程痔。 2 2j a v a 数据库连接( j d b c ) 2 2 1j b b c 概述 许多开发者帮用户都在寻我j a v a 程序中谤润数据库的便蕤方法。囊予j a v a 是一个健壮,蜜全,易于使用的,易于理解且可以从网络中自渤d o w n l o a d ,所以 它成为开发数攘淳盔热熬一耱爨好豹谗言基吞妻。它提珙了c 、e + + 、s m a l l t a l k 、 b a s l c 、c o b o l 和4 g l s 的许多优点。j a v ad a t a b a s ec o n n e c t i v it y ( j d b c ) a p i 建 立在x o p e ns q lc l i ( 调熙层接口) 豹藜础上研制的,( 它也是m i c r o s o f t 的o d b c 的基础) ,x o p e l lc l i 定义了强使用数据库系统的时馁,客户和服务器如何避行 交互。工作建立在o d b c 抽象鼷的基础上使得j d b c 更加容易得到大家的接受。而 且从按术上来说,o d b c 是我们设计工律静一个受葑摹磁。 基于n e t 架构的w e b 数据库访问授术研究与艘用 j d s c 的关键燕互操作憔。这意味着通过使用j d b ca p i 来进行数据霹访问, 可以在不修改应用程序的情况下,改变所使用的数据库驱动程序( 或数据库引 擎) 。透一步说。在编写馥蘑程序瓣薅候,可戳不了解某个数据瘁系统豹缀节, 只疆按照标准的j d b ca p i 规范来做,并且安装与所用的数据库相澍应的j d b c 驱 动程序裁爵以了( 魏国2 - 2 瑟示) 。 圈2 - 2j d b c 甄操作性 2 2 ,2j d b g 驱动程浮的类黧 西b ca p i 以秘统一濑方式对各弛数据库进行存取。期o d b c 样,j d b c 为 开发人员隐藏了不同数据庠的不耐特征。另外,盘于j d 8 e 建立在j a v a 蒸雅上, 所以具有数据库存取的平台独立性。 类鼙1 :j d b c o d b c 耩( j d b c o d b cb r i d g e ) j d b c - 0 d b c 桥是一个j d b c 驱动程序,这个驱动程序使用本地( c 语畜) 库来 谲羯现有的o d b c 驱砖程露以访阏数器摩孳 擎( 羹强3 3 ) 。 怒 n a t i v e0 c o d el l j a v aa p p l i c a t i o n , l a p p l e t s e r v l e t i t y p e 2 l j d b cd r i v e r n a t i v ed a t a b a s e 1l i b r a 黼 | 一j a v a n a t i v ej c o d el 圈2 - 3类型l :j d b c - o d b c 攒圈2 4类型2 :j a v a 到本地a p i 类型2 :j a v a 到本地a p i ( j d b c n a t i v ed r i v e rb r i d g e ) j d b c 本逢嚣动程孝箍供了一秽j d b c 接强,它建立在本建数攥疼骣动程序熬 基于n e t 架构的w e b 数据库访问技术研究与应用 顶层,而不需要使用o d b c 。j d b c 驱动程序将使数据库的a p i 从标准的j d b c 调用 转换为本地调用,使用此类型需要牺牲j d b c 的平台独立性,还要求在客户端安 装一些本地代码( 见图2 - 4 ) 类型3 :j a v a 到专有网络协议( j d b c - n e t w o r kb r i d g e ) j d b c 网络桥驱动程序不再需要客户端数据库驱动程序。它使用网络上的中间 服务器来存取数据库。这种应用使得负载均衡、连接缓冲池和数据缓存等技术有 了实现的可能。由于这种类型需要的下载时间短、具有平台独立性、不需要在 客户瑞安装,并取得控制权,所以很适合在i n t e r n e t 上使用。( 见图2 5 ) l j 脚a v a 吼a p p l 。i 刚c a t 。i o n 。i t y p e 3j d b c d r i v e “ 切 i n t e k n e t | j j a v am i d d l e w a r e 、i o d b c d r i v e r lj 。a v a 叫a p p l 。i c a t i o n li t y p e 3j d b c d r i v e _ 切。, 。 i j a v a m i d d l e w a r e l 、l o d b c d r i v e r 图2 - 5 类型3 :j d b c n e t w o r kb r i d g e图2 - 6 类型4 :p u r ej a v ad r i v e r 类型4 :j a v a 到本地数据库协议( p u r ej a v ad r i v e r ) 这种类型通过使用一个纯j a v a 驱动程序执行数据库的直接访问。通过本地 的通信协议,这种驱动程序可以具备在i n t e r n e t 上装备的能力。类型4 的优点 在于它的性能,在客户和数据库引擎之间没有任何本地代码或中间件( 见图2 - 6 ) 2 3 直接数据库连接方式 所谓直接数据库连接是指应用程序直接与数据库系统连接。直接连接的优 势在于应用系统与数据库系统直接交换数据和控制命令,可以提高系统的运行速 度和效率。另一方面,直接连接可以充分利用数据库系统的特点和运行特色,可 以使用特定的功能,而不局限于只能使用执行标准的s q l 语句。 对于每种数据库系统,p h p 提供了不同的函数库。因此,我们可以利用这些 函数库在程序中直接访问和管理数据库,提高程序的执行效率。 当然,如果利用直接数据库连接就必须牺牲动态网页程序对数据库的兼容 性。由于不同程序对数据库系统的访问采用不同的函数库,因此改变数据库系 基于n e t 架构的w e b 数据库访问技术研究与应用 统就会导致程序不能访问新的数据库系统, 必须重新改写程序。在动态网页程 序中采用何种方式访问数据库系统必须仔细综合各种因素来考虑。 2 4 基于o d b c 的数据库存取对象群( d a o 和r d o ) 2 4 1d a 0 d a o ( d a t aa c c e s so b j e c t ,数据访问对象) 是微软比较早期的一种数据库访 问方法,它为编程人员提供了面向对象的数据库操作的首次尝试,提供了一种通 过程序代码创建和操作数据库的机制。d a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全断面掘进机合作协议书
- Glucoraphasatin-potassium-生命科学试剂-MCE
- Empagliflozin-impurity-15-Standard-生命科学试剂-MCE
- DS37571084-生命科学试剂-MCE
- 人防设施交通管理与交通疏导方案
- CYP51-IN-27-生命科学试剂-MCE
- 船舶海工模块生产线项目技术方案
- 绿色建筑施工与管理方案
- 2025年金属紧固件、金属钉项目建议书
- 工程施工过程中的沟通与协调方案
- 外事办公室翻译招聘笔试(韩语)经典考题含答案
- 2025版荒山荒地地质灾害监测与预警合作协议书
- APW基础运用+FSSE进行工位人机工程评价
- GM/T 0047-2024安全电子签章密码检测规范
- 兵团招标投标管理办法
- 轴承故障诊断技术课件
- 家庭教育劳动
- 企业三体系培训课件
- 哎呀流血了-大班健康安全教育活动
- 设备故障应急计划
- 2025年职业道德知识考试题库
评论
0/150
提交评论