版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中图分类号:学校代码:10055 UDC:密级:公开 专专 业业 硕硕 士士 学学 位位 论论 文文 数据库监控系统的设计与实现数据库监控系统的设计与实现 The design and Realization of The Database monitoring system 论文作者 王琳 指导教师 申请学位 培养单位 答辩委员会主席 评 阅 人 南开大学研究生院 二一一年五月 南开大学学位论文使用授权书南开大学学位论文使用授权书 根据南开大学关于研究生学位论文收藏和利用管理办法,我校的博士、硕士学位 获得者均须向南开大学提交本人的学位论文纸质本及相应电子版。 本人完全了解南开大学有关研究生
2、学位论文收藏和利用的管理规定。南开大学拥有在 著作权法规定范围内的学位论文使用权,即:(1)学位获得者必须按规定提交学位论 文(包括纸质印刷本及电子版),学校可以采用影印、缩印或其他复制手段保存研究生学位 论文,并编入南开大学博硕士学位论文全文数据库;(2)为教学和科研目的,学校可 以将公开的学位论文作为资料在图书馆等场所提供校内师生阅读,在校园网上提供论文目 录检索、文摘以及论文全文浏览、下载等免费信息服务;(3)根据教育部有关规定,南开 大学向教育部指定单位提交公开的学位论文;(4)学位论文作者授权学校向中国科技信息 研究所和中国学术期刊(光盘)电子出版社提交规定范围的学位论文及其电子版并
3、收入相应 学位论文数据库,通过其相关网站对外进行信息服务。同时本人保留在其他媒体发表论文 的权利。 非公开学位论文,保密期限内不向外提交和提供服务,解密后提交和服务同公开论文。 论文电子版提交至校图书馆网站:61:8001/index.htm。 本人承诺:本人的学位论文是在南开大学学习期间创作完成的作品,并已通过论文答 辩;提交的学位论文电子版与纸质本论文的内容一致,如因不同造成不良后果由本人自负。 本人同意遵守上述规定。本授权书签署一式两份,由研究生院和图书馆留存。 作者暨授权人签字: 年 月 日 南开大学研究生学位论文作者信息 论文题目 姓名学号答辩日期
4、年 月 日 论文类别博士 学历硕士 硕士专业学位 高校教师 同等学力硕士 院/系/所软件学院专业软件工程 联系电话Email 通信地址(邮编): 备注:是否批准为非公开论文否 注:本授权书适用我校授予的所有博士、硕士的学位论文。由作者填写(一式两份)签字后交校图 书馆,非公开学位论文须附南开大学研究生申请非公开学位论文审批表。 南开大学学位论文原创性声明南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下进行研究工作所 取得的研究成果。除文中已经注明引用的内容外,本学位论文的研究成果不包 含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所 涉及的研究
5、工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本 学位论文原创性声明的法律责任由本人承担。 学位论文作者签名: 2011 年 5 月 28 日 非公开学位论文标注说明 (本页表中填写内容须打印) 根据南开大学有关规定,非公开学位论文须经指导教师同意、作者本人申 请和相关部门批准方能标注。未经批准的均为公开学位论文,公开学位论文本 说明为空白。 论文题目 申请密级限制(2 年) 秘密(10 年) 机密(20 年) 保密期限年 月 日 至 年 月 日 审批表编号批准日期 限制 2 年(最长 2 年,可少于 2 年) 秘密10 年(最长 5 年,可少于 5 年) 机密20 年(最长 10
6、年,可少于 10 年) 中文摘要中文摘要 随着计算机技术的发展和普及,国内的很多政府部门和大型企业都实行了 计算机化管理,而在大型的管理信息系统中数据库管理确实是重中之重,数据 库成了大型管理信息系统的核心。为了使每一个数据库都能够被有效地管理和 优化,本课题设计了这套数据库监控系统,目的是为了使得上一级单位的 DBA 能够通过这套系统来远程监控下级单位的数据库,通过分析获得的监控信息, 对可能出现的问题进行预测,然后制定出适当的优化方案,从而保证整个系统 正常、高效地运行。 数据库监控系统给出了一个先进实用的数据库管理一体化的解决方案。在 该系统的设计过程中,我们将它的体系结构设计为三层,有
7、效地提高了系统的 安全性,同时给系统的扩展带来很大的方便。当管理的数据库日益增多时,可 以通过增加中间层的 COM 事务服务器来简单地增加系统的并发处理能力,从 而大幅度地提高了系统性能。 通过定期的自动获取数据库状态信息,可以给出数据库在一定时间内的运 行数据,便于分析和优化。系统保证得到的监控信息准确、及时、有效。这样 才能作出正确的估计,给出合理的优化方案,从而实现了实时监控,有助于及 时采取措施对数据库的性能进行调整。 本系统的关键是运用了 COM 技术,并且采用 XML 格式来传输数据。 本项目将在实践中继续完善系统的功能,使它不仅能够监控数据库,还可 以监控操作系统、网络设备,并进
8、一步提高系统性能,使之成为一个更加成熟、 更加完善的远程监控系统。 关键字关键字:监控系统,Oracle,COM,XML Abstract With the development and the widespread use of the computer technology, many government departments and large corporations have carried out computer management. In large Management Information System, database management is the mo
9、st important emphases, and it has become the core of a large management information system. In order to make sure that each database can be managed and optimized efficiently, we designed the Database Distance Surveillance System to make it possible that the superior departments can surveillance the
10、database of the junior departments, so they can analyze the surveillance information, forecast the possible questions, then design the proper optimize scheme. It can make sure that the whole system can run normally and highly efficiently. Oracle database, a remote monitoring system gives advanced an
11、d practical integration of database management solutions. In the system design process, we will design it for the three-tier system, effectively improve the security of the system, while the expansion of the system has brought great convenience. When the management of the growing database, you can b
12、y increasing the COM Transaction Server middle tier to simply increase the systems parallel processing capability, thus greatly improving system performance. Automatic access to the database through regular status information, the database can be given within a certain time operational data for anal
13、ysis and optimization. Monitoring system to ensure that the information be accurate, timely and effective. In order to make a correct estimate of the optimization program is given a reasonable, enabling real-time monitoring will help to take timely measures to adjust the performance of the database.
14、 The key of the system is to use COM technology, and uses XML format to transfer data. In practice, we will continue to improve the function of the system, it not only to monitor the database, you can also monitor the operating systems, network equipment, and to further improve system performance, m
15、aking it a more mature, more sophisticated remote monitoring system. Key Words: Surveillance System, Oracle,XML, COM 目目 录录 中文摘要 .I Abstract .II 目 录 .IV 第 1 章 绪论 .1 1.1 项目背景 .1 1.2主要工作 .2 1.3 章节安排 .3 第 2 章 系统相关技术介绍 .5 2.1 Oracle 数据库的体系结构 .5 2.2Visual Basic 数据库编程 .7 2.3 COM 组件 .12 2.4 XML 技术 .15 2.5 本
16、章小结 .17 第 3 章需求分析 .18 3.1 性能需求 .18 3.2 功能需求 .19 3.3 本章小结 .20 第 4 章概要设计 .21 4.1 设计目标 .21 4.2 系统框架 .21 4.3 系统特点 .23 4.4 本章小结 .24 第 5 章 详细设计 .25 5.1系统设计开发流程图.25 5.2 数据表的设计 .27 5.3 主要功能模块设计 .42 5.4 本章小结 .47 第 6 章主要问题的解决 .48 6.1 Visual Basic 与多种数据库的连接设计.48 6.2 实现将数据信息转化为 XML 文件 .49 6.3 实现 XML 文件的解析 .51 6
17、.4实现数据库的注册、检索、获取监控信息(COM 的设计) .53 6.5本章小结 .57 第 7 章系统实现与测试 .58 7.1 系统实现 .58 7.2 系统测试 .64 改进建议 .70 7.3 本章小结 .71 第 8 章 总结 .72 参考文献 .74 致谢 .76 个人简历 在学期间发表的学术论文与研究成果 .77 第第 1 1 章章 绪论绪论 1.11.1 项目背景项目背景 随着计算机技术的发展和普及,国内的很多政府部门和大型企业都实行了 计算机化管理,而在大型的管理信息系统中数据库管理确实是重中之重,数据 库成了大型管理信息系统的核心。然而,由于国内计算机人才的匮乏,一个好
18、的数据库管理员(DBA)及其难得,特别是在各个县市。为了使每一个数据库都 能够被有效地管理和优化,我们设计了这套数据库监控系统,目的是为了使得 上一级单位(省里或总公司)的 DBA 能够通过这套系统来远程监控下级单位 的数据库,分析获得的监控信息,制定出适当的优化方案,保证整个系统正常、 高效地运行。 国外已有许多数据库监控系统已经投入使用,这些监控中心通常是面向资 金雄厚的企事业单位用户设计的,众多的一般用户很难具备昂贵的监控系统建 设条件。传统的数据库监控系统没有权限设定机制,只要能进入监控系统,就 可以看到所有下属的数据库信息。监控系统具有严密的多级别用户登录权限控 制机制,没有权限的用
19、户将不能看到数据库信息,保障数据库信息的安全。 现在国内开发的数据库监控的软件及其少见,大多是代理的国外产品。在 国外也只有几家公司在做这方面的软件,但是这些软件大部分价格昂贵,国内 一般用户很难承受。而且在功能方面也不能适应国内的一些需求,譬如不能提 供有效的优化方案和远程备份功能。跨地域的数据库监控系统由于受制于网络, 实现起来有一定的技术难度,所以地理意义上的“远程”监控系统就少之又少。 因此这个项目的提出有很强的针对性,有一定的现实意义。 数据库监控系统可以给出一个先进实用的数据库管理一体化的解决方案。 为了实现对远程数据库的监控,一方面要考虑如何获取监控信息,另一方面还 涉及到信息的
20、转换和远程传输。而采用三层体系结构,使用 COM 和 XML 技 术可以有效地解决这些问题。 本项目结合社会保险系统的实际情况,给出了一个先进实用的、全省范围 内数据库管理一体化的解决方案。通过实时监控与优化各个地市的数据库,保 证了应用系统的正常、高效运行。 我们将系统的体系结构设计为三层,第一层是客户应用层,系统主界面和 存放监控信息的中心数据库都在这一层上;第二层是 COM 事务服务器层,负 责连接远程数据库并获取关于该数据库的有关信息;第三层为数据库服务器层, 包括所有要监控的数据库。 该系统在 COM 中定义了一些类,这些类中定义了若干方法,这些方法负 责连接远程数据库并获取关于该数
21、据库的有关信息,然后将得到的信息转换为 XML 格式进行传输,第一层接受到 XML 格式的信息之后,进行解析,将结果 存放到本地库中。 运用 XML 技术,可以很方便地在 XML 文件和数据库的记录集之间进行转 换。Microsoft 开发了一种用于创建和分析 XML 文档的工具,称为 MSXML,MSXML 实现了由 World Wide Web Consortium(通常被称为 W3C) 定义的文档对象模型(Document Object Model,DOM)。这些对象可以在应用 程序中用来解析 XML 文档或创建新的 XML 文档。 可以将应用程序常驻内存,设置为间隔一定的时间就调用一次
22、 COM 中的 相关方法,获取数据库的状态信息。通过定期的自动获取数据库状态信息,可 以给出数据库在一定时间内的运行状态曲线,便于分析和优化。这样,部分意 义上实现了实时监控,有助于及时采取措施对数据库的性能进行调整。 1.21.2主要工作主要工作 本文本课题旨在设计一个实用高效的数据库监控系统,实现数据库的性能 监控以及相关数据库的操作,并实际实现其中部分主要功能。本课题具体要研 究的内容如下: 1、研究系统的三次构架。系统采用三层结构,可以有效地提高系统的安 全性,同时给系统的扩展带来很大的方便。数据库的连接,指令的分发执行, 信息的返回等大多数的工作都是在中间层的事务服务器上处理的,当管
23、理的数 据库增多时,中间层的事务服务器工作负担就会增大,而此时只需增加事务服 务器,就可以方便地实现业务分流,提高并发处理能力。 2、研究 COM 组件技术。COM 技术的使用增强了系统的可移植性。虽然与 COM 组件进行通信需要遵循一系列严格的规则,但是开发者却不必考虑这些, 而只需考虑与 COM 组件进行通信的属性、方法和事件。这无疑增强了系统的可 移植性。 3、研究数据的 XML 表示以及传输。XML 生成简单,易于理解,并且基于 W3C 制定的开放标准,是目前不同应用程序之间进行数据交换的最佳途径。XML 文件的格式与内容分离,可以很容易地析取出需要的信息,方便了对数据进行 排序,查询
24、等操作;同时,运用 XML 技术,可以很方便地在 XML 文件和数据库 的记录集之间进行转换。 4、研究数据库的远程操作。该系统不仅仅是监控数据库,还提供了某些 操作数据库的手段。可以远程关闭数据库,启动数据库,对数据库进行备份, 以及修改数据库的启动参数文件,管理数据库的表空间、用户、表、视图等数 据库对象。这样能够有效避免由于非专业人员的人为失误造成的不可预见的灾 难性后果的发生。 1.31.3 章节安排章节安排 本文是对项目的一个总结,以下是本文的章节安排: 第一章是项目的概述,是对数据库监控系统的一个概况的介绍。 第二章是系统的相关技术介绍,介绍在系统开发过程中用到的一些相关技 术。
25、第三章是项目的需求分析,分析数据库监控系统的实际需求,要找出系统 需要满足的实际功能。 第四章是系统的概要设计,在前面需求分析的基础上进行系统的概要设计, 设计系统的基本架构和基本模块组成。 第五章是系统的详细设计,因为系统是采用框架进行分层设计的,按照层 次进行系统的详细设计。 第六章是系统的关键技术介绍,介绍在系统的设计和实现中采用的一些关 键技术。 第七章是系统的实现和测试部分,介绍在系统的具体实现过程中遇到的一 些问题已经解决方法。 第八章是对项目的一个总结。 第第 2 2 章章 系统相关技术介绍系统相关技术介绍 2.12.1 OracleOracle 数据库的体系结构数据库的体系结构
26、 Oracle 是以高级结构化查询语言(SQL)为基础的大型关系数据库,它是用 方便逻辑管理的语言操纵大量有规律数据的集合。是现在应用最广泛的的客户/ 服务器体系结构的数据库之一。 Oracle 数据库的体系结构包括四个方面:数据库的物理结构、逻辑结构、 内存结构及进程。 物理数据库结构是由构成数据库的操作系统文件所决定,Oracle 数据库文 件包括:数据文件(Data File)、日志文件(Redo Log File)、控制文件 (Control File)和配置文件。 Oracle 数据库的逻辑结构描述了数据库从逻辑上如何来存储数据库中的数 据。逻辑结构包括表空间、段、区、数据块和模式对
27、象。 一个数据库从逻辑上说是由一个或多个表空间所组成,每一个表空间是由 段(segment)组成,一个段是由一组区(extent)所组成,一个区是由一组连续的数 据库块(database block)组成,而一个数据库块对应硬盘上的一个或多个物理块。 当在计算机服务器上启动 Oracle 数据库后,称服务器上启动了一个 Oracle 实例(Instance)1-3。Oracle 实例(Instance)是存取和控制数据库的软件机制, 它包含系统全局区(SGA)和 Oracle 进程两部分。 进程是操作系统中一个极为重要的概念。一个进程执行一组操作,完成一 个特定的任务。对 Oracle 数据库
28、管理系统来说,进程由用户进程、服务器进程 和后台进程所组成。 为了提高系统性能,更好地实现多用户功能,Oracle 还在系统后台启动一 些后台进程,用于数据库数据操作。系统进程的后台进程主要包括:SMON 系 统监控进程:(system monitor)负责完成自动实例恢复和回收分类(sort)表 空间。PMON 进程监控进程:(process monitor)实现用户进程故障恢复、清 理内存区和释放该进程所需资源等45。DBWR 数据库写进程:数据库缓冲区 的管理进程。在它的管理下,数据库缓冲区中总保持有一定数量的自由缓冲块, 以确保用户进程总能找到供其使用的自由缓冲块。LGWR 日志文件写
29、进程:是 日志缓冲区的管理进程,负责把日志缓冲区中的日志项写入磁盘中的日志文件 上。每个实例只有一个 LGWR 进程。 ARCH 归档进程:(archiver process) 把已经填满的在线日志文件拷贝到一个指定的存储设备上。仅当日志文件组开 关(switch)出现时,才进行 ARCH 操作。ARCH 不是必须的,而只有当自动 归档可使用或者当手工归档请求时才发出。RECO 恢复进程:是在具有分布式 选项时使用的一个进程,主要用于解决引用分布式事务时所出现的故障67。 它只能在允许分布式事务的系统中出现。 Oracle 的内存结构简称 SGA,SGA 是 Oracle 为一个实例分配的一组
30、共享 内存缓冲区,它包含该实例的数据和控制信息。SGA 在实例启动时被自动分配, 当实例关闭时被收回8。数据库的所有数据操作都要通过 SGA 来进行。 SGA 中内存根据存放信息的不同,可以分为几个区域,如图 2.1 所示: 图 2.1 SGA 的内存区域说明 2.22.2VisualVisual BasicBasic 数据库编程数据库编程 微软的 Visual Basic 6 是非常成熟的程序设计工具,在界面设计、文件操作、 多媒体应用、数据访问、internet 应用等方面都提供了功能强大的工具,允许开 发人员轻松地进行可视化应用程序设计。与 VB 的以前版本相比较,VB6 引入 了很多新
31、的控件和技术,功能更加完善,开发能力更加强大。其中 ADO 技术 能够方便地实现对数据库的访问;尤其是 VB6 提供了对 XML 的支持,能够方 便的处理 XML 格式的文件。 Visual Basic 支持三种不同的对象模型:Data Access Objects (DAO)、 Remote Data Objects (RDO)、ActiveX Data Objects (ADO)。DAO 用来支持 Jet 数据库,也可以访问其他数据库,但必须在 Jet 中定义其他数据库并通过 Jet 来 访问它们。DAO 的这些额外操作严重影响了性能。RDO 用来清除 DAO 的额外 操作,允许程序员直接
32、连接 SQL Sever 数据库。ADO 提供了数据库访问的通用 解决方法,ADO 模型与 RDO 模型很相似,但 RDO 模型中的一些限制被取消 了,使得它更加灵活和易用。 下面重点介绍一下 ADO 对象模型。Active Data Object(ADO)为用户对 数据库进行访问提供了一个良好的途径。在 ADO 对象模型中,主要有三个用 于数据库访问的对象:Connection 对象提供了一个访问数据库的途径, Command 对象执行在数据库服务器上的 SQL 语句和存储过程,Recordset 对象 在数据库上检索信息,并更新存储在数据库中的信息。910该系统主要涉及到 Connecti
33、on 对象和 Recordset 对象,下面重点介绍一下: Connection 对象用于保持与数据源的连接,可以通过使用 Command 对象 和 Recordset 对象间接建立,也可以建立一个 Connection 对象的实例,并在多 个 Command 和 Recordset 对象间共享。建立一个以 ADO 为基础的应用程序的 第一步就是连接数据库,这一步的关键是创建一个包含关键信息(如数据提供 者、数据位置和用户名及密码)的连接字符串。另外,也许还需要提供附加信 息,如数据库的默认名称(特定的数据提供者需要该名称)。连接字符串 (Connection String)包含了将应用程序连
34、接到数据源上所需的信息,该值被存 储于 Connection 对象的 ConnectionString 属性中。 Connection 对象使用连接字符串来为程序创建与数据库进行数据通信的线 路。一旦被打开,所有由应用程序运行的数据库函数必须要引用 Connection 对 象,不管是以直接还是间接的方式。Connection 对象有许多种方法,这些方法 可以对与数据源之间的连接进行管理。下面只介绍开发该系统用到的几个方法: Sub Open(ConnectionString As String,UserID As String,Password As String,Options As Lo
35、ng=-1) 通过与数据提供者建立连接,Open 方法用来对 Connection 对象进行初始 化。ConnectionString 是一个字符串值,包含着与连接字符串属性中相同的连接 信息。此参数中的值将置换属性中的值。UserID 包含了一个字符串值,该值中 带有进入数据库所必须的 UserID。该值将覆盖任何一个 ConnectionString 参数 或属性中所包含的 UserID 信息。Password 包含了一个字符串值,该值中带有 指定 UserID 的密码信息。该值将置换任何一个 ConnectionString 参数或属性中 所包含的密码信息。Options 可以随机传递一
36、个下表中所指定的值1112。如果 所定义的是 adAsyncConnect,当连接过程完成时,ConnectComplete 事件将被 触发。Options 的取值如表 2.1 所示: 表 2.1 Optiens 参数说明 常数值描述 adConnectUnspecified-1同步打开连接(默认) adAsyncConnect16非同步打开连接 主要方法有,Function BeginTrans() As Long、CommitTrans()、 RollbackTrans()等。BeginTrans 方法表示一个操作的开始,返回值与该操作的嵌 套级别相对应。第一次调用 BeginTrans
37、时,将返回一个值;第二次调用时(在 不调用 CommitTrans 或者 RollbackTrans 的情况下),将返回两个值。 CommitTrans 方法用于结束一个操作或者保存对于数据库所作的改变。一项新 的操作是否可以被启动,取决于它的 Attributes 属性。RollbackTrans 方法用于 结束一个操作或放弃保存任何一项对于数据库的改变。一项新的操作是否可以 被启动,取决于它的 Attributes 属性。 Function Execute(CommandText As String,RecordsAffected,Options As Long=-1) As Record
38、set Execute 方法被用于执行特定命令。作为运行此函数的一个结果将返回一个 Recordset 对象,其中也可能包含着由命令返回的行。CommandText 是一个字 符串,其中包含着 SQL 语句、存储过程、表名或者其他数据提供者所定义的、 将要被执行的命令。RecordsAffected 将会随机返回一个带有受该命令影响的记 录数目的 Long 值。Close 方法用于关闭与数据提供者之间的连接,它也可以用 于关闭任何处于打开状态的对象,并可以把任一 Command 对象的 ActiveConnection 属性设置成 Nothing。 Command 对象可以通过执行相应的命令查
39、询数据库,特别是可以通过 Command 对象处理存储过程和包含一系列 SQL 参数的查询1314。打开一个连 接后,需要执行相应的命令。Command 对象中定义了一些 SQL 语句和存储过 程的命令。有些命令,特别是用作存储过程的命令,可以带有参数,提供命令 的附加信息,并在命令执行后返回相应的信息。参数信息存储在 Parameters 集 合中,每一个参数都有自己的 Parameter 对象。而且,根据特定的命令, Parameter 对象可以决定是否返回一个包含数据库相关信息的 Recordset 对象。 在 ADO 的所有对象中,Recordset 对象是使用最多的,它包含数据库的实
40、 际数据。用这个对象可以在数据库中检索、插入、修改及删除信息。Recordset 对象能像 ADO 数据控件一样用作其他控件的数据源2829。事实上,ADO 数据 控件引用 Recordset 对象,使用户能直接访问记录集所包含的信息。 Recordset 对象包含从数据库查询返回的数据行组。各种属性和方法指示 OLE DB 提供者如何从数据库检索数据行,以及提供者应该如何处理更新、如 何锁定以确保完全的访问数据,Recordset 对象的其它属性和方法允许访问返回 的数据行组。 在记录集中,Recordset 对象包含许多方法来操纵数据。介绍一下用到的几 个: MoveFirst 方法移动当
41、前的记录指针至记录集中的第一条记录。调用 MoveFirst 打开记录集,以保证为处理有效的记录做好准备。MoveLast 方法移 动当前的记录指针至记录集中的最后一条记录。MoveNext 方法移动当前的记 录指针至下一条记录。如果当前的记录指针指向记录集的最后一条记录,当前 的记录指针将被移到 EOF;如果当前的记录指针已经指向 EOF,调用 MoveNext 将导致运行时错误。MovePrevious 方法移动当前的记录指针至上一 条记录1516。如果当前的记录指针指向记录集的第一条记录,当前的记录指针 将被移到 BOF;如果当前的记录指针已经指向 BOF,调用 MoveNext 将导致
42、运 行时错误。 Sub Open(Source As Variant,ActiveConnection As Variant,CursorType As CursorTypeEnum=adOpenUnspecified,LockType As LockTypeEnum,Options As Long=-1) Open 方法打开一个新的 Recordset 对象。Source 是一个 Variant 值,包含有 效 Command 对象的一个引用对象,有效 Steam 对象(包含持续存储的记录集) 的一个引用对象,或者包含 SQL 语句、表名、存储过程名、URL、文件名的字 符串。3031Act
43、iveConnection 是一个 Variant 值,包含打开 Connection 对象或 String 值的一个引用对象,该 String 值的 ConnectionString 属性保存着相同的连 接信息。 CursorType 是一个枚举值,定义将在记录集中使用的光标类型,如表 2.2 所示: 表 2.2CursorType 参数值说明 常数值描述 adOpenUnspecified-1未定义光标类型 adOpenForwardOnly0使用仅向前光标,仅允许在记录集中向前滚动记录 adOpenKeyset1使用键盘光标,类似于动态光标,但是不允许查看 其他用户添加的记录 adOpe
44、nDynamic2使用动态光标,允许查看其他用户添加的记录,以 及所有对记录进行的添加和删除等改变 adOpenStatic3使用静态光标,防止查看其他用户所作的任何改变 LockType 是一个枚举值,包含当恢复记录时记录集所使用的锁定方式,参 见表 2.3: 表 2.3 LockType 参数说明 常数值描述 adLockUnspecified-1未定义锁定类型 adLockReadOnly1不允许对数值进行任何更改 adLockPessimistic2一旦记录里的数据已经更改,记录将一条接一条 的被锁定在数据源中 adLockOptimistic3只有在调用 UpdateMethod 时
45、才锁定纪录 adLockBatchOptimistic4记录未锁定,在完成 UpdateBath 方法后,冲突 被返回以解决 Options 随机传递表 2.4 中指定的数值之一: 表 2.4 Options 参数说明 常数值描述 adOptionUnspecified-1不指定选项 adCmdText1CommandText 包含 SQL 语句或者存储过程 的调用 adCmdTable2CommandText 包含数据库中的表名 adCmdStoreProcedure4CommandText 包含存储过程名 adCmdUnknown8未知命令类型 adAsyncExecute16非同步执行命
46、令 adAsyncFetch32在 Recordset 对象的 CacheSize 属性中定义的 行数被返回,剩余的行将被不同步返回 adAsyncFetchNonBlocking64检索时主线程步中断,如果当前行尚未检索, 当前行将被移到文件结尾 adExecuteNoRecords128指示命令不返回任何行或者自动取消生成的 任何行,必须使用 adCmdText 或 adCmdstoreProcedure 值 adCmdFile256CommandText 是持续存储记录集的名称 adCmdTableDirect512CommandText 包含数据库表的名称 Sub Close 方法关闭
47、一个打开的记录集,并且释放所有与之相关的资源。如 果同时在记录集中编辑一条记录,将会发生错误,程序将终止 Close 方法,此 时需要首先调出 Update 或者 CancellUpdate32-34。如果正以批处理的方式工作, 将丢失上一次 UpdateBatch 的所有改变。 2.3 COM 组件组件 COM 组件是可以在运行时被动态调入内存的、包含可执行代码的对象模型。 COM 规范的一个重要特征是它定义的 COM 接口与开发语言无关,因此可以在 各种开发语言中实现 COM 对象或者使用 COM 对象。虽然与 COM 组件进行通 信需要遵循一系列严格的规则,但是开发者却不必考虑这些,而只
48、需考虑与 COM 组件进行通信的属性、方法和事件。 通过创建一个 COM 事务,可以实现一个 n 层的应用系统。与传统的客户 机/服务器应用系统比较,这类系统可以大幅度提高系统性能。 传统的客户机/服务器应用系统中,客户计算机直接与数据库服务器进行通 讯,这也可以称为一个两层应用系统。如图 2.2 所示: 图 2.2 两层应用系统 通过使用一个 COM 事务,可以构造一个三层解决方案:一台计算机作为 客户机,第二台作为 COM 事务服务器,第三台作为数据库服务器。如图 2.3 所示: 图 2.3 三层应用系统 通过使用一个 COM 事务服务器,可以将应用系统的逻辑从客户应用程序 中移出来,同时
49、又使它与数据库服务器独立。这给应用系统的设计带来了更大 的灵活性,因为它可以以面向对象的角度来观察数据、通过资源共享来获得更 佳的性能并可提高事务支持的可靠度。 图 2.4 显示了另外一种解决方案,我们称之为四层处理解决方案。一般认 为这是三层结构的一个变种,因为这里的客户服务器运行 Web 浏览器,不能真 正称之为一层,但既然可以很容易地向网页中加入 VBScript 或 JavaScript 之类 的脚本程序,为什么不可以算作一层呢?系统架构如图 2.4。 图 2.4 四层应用系统 一般而言,可以将多层方案称为 n 层方案。n 表示在应用系统设计时使用 的计算机层数。注意,这里不是靠计算机
50、的数目决定的,因为完全可能为了提 高效率,有不止一台 Web 服务器、事务服务器或数据库服务器连接在一起来提 供相同的服务。在 n 层方案中,每层计算机提供不同类型的服务1718。然而在 实践中,一般超过四层结构的方案不容易获得更好的性能。 COM 事务服务器提供了在 n 层应用程序系统中执行事务的框架。服务器包 含了用于共享资源的工具,如 ADO Connection 对象,并为事务提供了额外的 安全性。 事务服务器接收客户机应用程序提交的请求,并启动一个新的事务来处理 它。如果需要从数据库服务器取得信息,事务将与数据库服务器通信。当事务 处理完成后,会将结果返回调用程序。 通过加入第三层,
51、减轻了数据库服务器的一部分工作,这使数据库服务器 可以在相同的硬件配置下完成更多的工作。由于可以在事务服务器上做改动, 而不必改动客户应用程序,这还简化了应用程序的更新。 在四层方案中,使用事务服务器更有意义。这使得 Web 服务器和数据库服 务器都减轻了工作量,并将这部分工作移交到一个空闲的计算机系统上,使每 台计算机的响应时间都得到了提高。这还使 Web 服务器可以有更多内存来缓存 Web 页面,使数据库服务器可以有更多内存缓存数据。 一般而言,数据库服务器、事务服务器和 Web 服务器(如果有的话)是通过 超高速通信装置连接的。如果不是使用千兆以太网或其他专有网络技术进行连 接的话,最少要使用 100MHz 以太网。为了提高安全性和性能,通常这样的网 络与其他网络是隔离的,这意味着由网络引起的延迟很小。19通过将任务分散, 可以保证每个系统的负荷都是可以承受的。如果需要,我们甚至可以添加额外 的 Web 服务器和事务服务器,而不必对应用系统进行任何改动。 2.42.4 XMLXML 技术技术 XML 是扩展标记语言(Extensible Markup language)的缩写,是一种用来 智能化描述信息的语言,是一个帮助进行数据交换的工具。 Microsoft 开发了一种用于创建和分析 XML 文档的工具,称为 MSXML,MSXML 实现了由 World Wide
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届河北省雄安新区高三下学期考前预测历史试题(含答案)
- 神经内科专科护士考试试卷及答案
- 染料中间体研发工程师考试试卷及答案
- 邢台太行中学协议书生入学
- 王者ip新游保密协议书
- 微信服务通知弹窗协议书
- 数据生命周期销毁标准
- 53伴学的勾选协议书
- 水库清淤专项施工设计
- 安全生产事故综合应急救援预案
- 2024年广东惠州大亚湾开发区招聘公办学校教师真题
- 西部计划考试考题及答案
- 锂电池电极工艺培训资料
- 工厂急救知识培训课件
- GB/T 42596.2-2024机床安全压力机第2部分:机械压力机安全要求
- 睡眠科技在改善老年人睡眠中的应用
- GB/T 17727-2024船用法兰非金属垫片
- TGDGX 0003-2024 高校物业服务费用测算及基本人员配置规范
- 实验室生物安全手册资料
- 切口机操作规程
- 农村电商智慧树知到期末考试答案章节答案2024年西昌学院
评论
0/150
提交评论