基于WebService的异构数据库检索系统的设计--2012毕业论文.doc_第1页
基于WebService的异构数据库检索系统的设计--2012毕业论文.doc_第2页
基于WebService的异构数据库检索系统的设计--2012毕业论文.doc_第3页
基于WebService的异构数据库检索系统的设计--2012毕业论文.doc_第4页
基于WebService的异构数据库检索系统的设计--2012毕业论文.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于 Web Services 的异构数据库检索系统的设计 摘 要 在计算机系统信息集成中 如何充分利用现有的各种数据库资源 实现不 同数据库间的连接 数据交换 数据共享 以实现各个数据库之间的协同工作 已经成为办公自动化和信息化建设的一个关键问题 为了提高现有数据库之间 的数据交流 解决各个数据库之间协同工作的问题 开发了这套基于 WebServices 的异构数据库数据检索系统 其主要功能是实现不同数据库之间的数据转换 消除异构 检索出异地数 据库指定数据 本系统采用了 C S 体系结构 使用 C XML 语言开发 同时运 用 Oledb WebService 等实现接口来完成此系统的功能 基于 WebService 异 构数据库数据检索系统为数字化资源的整合利用提供了全新的解决方案 此外 从数据库的现状来看异构数据库联合使用的要求是非常迫切并会长期存在下去 的 关键词 XML WebServices 异构数据库 数据检索 Web Services Based Design of Heterogeneous Database Retrieval System Abstract In the work of office automation and information construction there exists a most important question in the system of computer information intergration how to fully use several of existing database resources to realize the connection database exchange and sharing among different databases and how to make them work together harmoniously In order to improve the database exchange among different databases and to solve the cooperation task among them this set of heterogeneous database the data retrieval system is developed The main function of this system is to realize the data conversion of different databases the elimination isomerism and the retrieve of assigned data of the different database The system reaches its function by using C S model of system computer language development of C XML as well as connection technology of Oledb WebServices This kind of WebService heterogeneous database data retrieval system has provided a new brand solution for the digitized resources conformity use In addition the present situation of database needs the adoption of isomerism database union urgently and it will be long standing Key words XML WebServices Heterogeneous Database Data Retrieval 目 录 论文总页数 24 页 1引言 1 1 1课题背景 1 1 2国内外研究现状 1 1 2 1数据转换服务 1 1 2 2数据转换工具及软件 1 1 3本课题研究的意义 2 1 4本课题的研究方法 3 1 5数据库的选择 3 1 6关键技术 4 1 6 1异构数据库 4 1 6 2WebService 6 2需求分析 6 2 1功能需求 7 2 2性能需求 8 2 2 1时间特性 8 2 2 2适应性 8 2 2 3独立性 8 2 3运行需求 9 2 3 1用户界面 9 2 3 2硬件接口 9 2 3 3软件接口 9 3概要设计 9 3 1设计方案 9 3 2数据源的采集设计 11 3 3数据处理设计 12 3 4XML 数据文件设计 13 3 5数据导出设计 15 4具体实现 16 4 1开发环境 16 4 2部分编码详解 16 5测试 20 5 1测试方法 20 5 2测试结果 20 结 论 21 参考文献 22 致 谢 23 声 明 24 第 0 页 共 24 页 1 引言 1 1 课题背景 随着 Internet 的飞速发展 网络迅速成为一种重要的信息传播和交换的手 段 数据资源的共享成为一个热门话题 如何获取网络上自治 异构 分布的 数据并加以综合利用 即数据集成 1 成为一个引起广泛关注的研究领域 数据集成的概念是把不同来源 格式 特点性质的数据在逻辑上或物理上 有机地集中 实现分布的 异构的 自治的数据共享的主要技术 数据集成一 般还应满足用户数据访问的实时性和安全性等方面的要求 数据集成的核心任务是要将互相关联的分布式异构数据源集成到一起 使 用户能够以透明的方式访问这些数据源 而不用关心数据源的存储位置和存储 方式 数据集成的数据源 包括结构化的数据 如关系数据库 半结构化数据 如 XML 文档 已经存在的文件系统等 2 1 2 国内外研究现状 目前 数据库的数据转换方法很多 例如微软公司的 SQL Server 数据库 就有导入和导出数据的服务 它可以启动数据转换服务 Data Transform Service 简称 DTS 来完成各类异构数据库的转换 同时国内也存在一些数 据转换工具和软件 比如 Beeload 等 1 2 1 数据转换服务 数据可能以各种格式保存并分布在不同的位置 3 数据转换服务 DTS 通 过提供一组工具 可以将来自完全不同的源的数据析取 转换和合并到 DTS 所 支持的单个或多个目标数据库以满足需求 通过 DTS 工具图形化地生成 DTS 包 或使用 DTS 对象模型编制包 可创建适合自己需要的自定义数据移动解决方案 此服务以向导的形式引导使用者实现 DTS 的功能 如数据和对象的导入 导出 验证以及在异类 OLEDB 和 ODBC 数据源之间的转换 1 2 2 数据转换工具及软件 Beeload 是第一款国产 ETL Extract Transform Load 工具 它不仅支持 Oracle MS SQL Sybase 等主流数据库的数据抽取及装载 而且还支持文本文 件的抽取备份 此外 Beeload 内置了大量的 API 函数 提供强大的数据转换 功能 通过直观的图形操作界面 使用户通过简单的拖拽动作即可实现 ETL 规 则的定义 使得元数据管理变得相当容易 同时 Beeload 也是一种数据整合软件 可对企业经营过程中所产生的各类 业务数据进行抽取 转换和汇总 为数据仓库提供高质量的数据 它还集成了 元数据管理 工作流管理及作业调度等功能 除提供直观的图形化操作方式外 还提供强大的脚本解释功能 既适合一般用户 又可充分满足高级用户需要的 产品 Beeload 数据转换流程图如图 1 所示 第 1 页 共 24 页 可用数据源 Oracle MySQL MS SQL DB2 Access FoxPro FlatFile InterBase Beeload 数据仓库 定时采集 定时刷新 定时抽取 操作型系统 图1 Beeload 数据转换流程图 1 3 本课题研究的意义 在 Internet 这样一个动态环境中 各种数据库不断的加入或去除 数据库 中的数据也在不断变化 而现在的绝大多数应用是建立在这些分离的数据库基 础之上 因而 为了实现信息资源的共享和交流 不同数据库间相互操作和协 作不可避免 这样随着时间的推移和技术的进步 这些由不同核心技术构建的 信息系统就像一个个 信息孤岛 各自有着不同的处理对象 操作方法和专用 客户端 在各个环节之间存在着数据交流和部门协同的问题 这些情况都表明 在现代信息化进程中 不同数据库联合使用的要求是非常迫切并会长期存在下 去的 并且往往还伴随着一个复杂的分布异构环境 这种分布异构性表现为 场 地分布 由 LAN 或 WAN 支撑 存在多种网络协议 数据分布 各种形式的数据分 散在各节点 以各种形式存在 硬件平台多样化 从台式机 工作站到大型主机 等 操作系统多样化 如 Windows Netware 各种 UNIX 以及 VMS 等 应用平台多 样化 包括来自不同开发组织的各种应用软件 中间件和开发工具 然而 要 求用户面对所有这些复杂的分布异构特性 并指望他学会操作每一种数据库是 不现实的 在使用中也不方便 对于用户而言 希望屏蔽掉各种层次的异构特 性 他们不必知道各个物理数据库系统的分布 不必知道各个物理数据库的机 构组成和操作方法 不必自己去进行数据转换和结果汇总 只需通过简单的全 局访问就可以得到结果 这正是异构数据库集成技术的主要研究内容 也是其 意义所在 1 4 本课题的研究方法 本系统的主要功能是实现跨平台的异构数据库系统之间的数据转换 所以 结合当前所具备条件提出以下研究方法 1 通过数据库接口软件与不同的数据库直接连接 如 ODBC 和 JDBC 等 在 同时检索的数据库数量较少时 使用此技术可在一定程度上解决异构检索问题 但数据库达到一定数量时 处理速度很难保证 这种方式仅适用于对属于本单 位的少量异构数据库进行统一检索 第 2 页 共 24 页 2 不同数据库间的格式转换 4 主要是利用数据库产品本身提供访问异构 数据库的功能 以实现在异构环境下建立具有较高性能的分布式数据系统 现 在一些图书馆制作的学科导航系统就此利用此方法设计的 其利用一些程序将 各种异构数据库的部分数据导入一个数据库系统中 以方便读者访问 但是收 录的数据库数量不能太多 此外还涉及版权问题 3 运用元搜索引擎的基本原理 利用数据库的 Web 客户端 进行统一检索 元搜索引擎主要运用在网页信息的搜索方面 但现有各种电子资源数据库都提 供相应的客户端接口 因此可利用元搜索引擎的原理对各个异构数据库进行统 一检索 这种方法的缺点在于需要对各个数据库的 Web 处理接口进行详尽分析 各个数据库的 Web 处理接口如发生改变则需重新设计 接口的稳定性较差 1 5 数据库的选择 数据库有许多种 桌面的数据库 Access 以及大型的关系型数据库 SQL Server Oracle 等 面对这么多的数据库选择哪种合适呢 先从它们的功能来 说明 1 Access 数据库 Access 数据库虽然使用比较简单灵活 但功能并不强大 一些数据库的维 护功能不强 另外 Access 是文件形式的 安全性极低 2 Oracle 数据库 Oracle 数据库是比较大型的数据库 适合在大项目中使用 特点如下 1 支持大数据量 多用户的高性能的事务处理 Oracle 支持的最大数据量可以达到几百千兆 并可充分利用硬件设备资源 支持多用户同时在同一数据上执行各种数据应用 并保证数据一致性 系统维 护具有高的性能 Oracle 可持续工作 正常的系统操作 后备或个别计算机系 统故障 不会中断数据库的使用 可控制数据库数据的可用性 可在数据库级 或在子数据库级上控制 2 支持分布式数据库和分布处理 Oracle 为了充分利用计算机系统和网络 允许将处理分为数据库服务器和 客户应用程序 所有共享的数据管理由数据库管理系统的计算机处理 而运行 数据库应用的工作站集中于解释和显示数据 通过网络连接的计算机环境 Oracle 将存放在多台计算机上的数据组合成一个逻辑数据库 可被全部网络用 户存取 分布式系统像集中式数据库一样具有透明性和数据一致性 3 具有可移植性 可兼容性和可连接性 由于 Oracle 软件可在许多不同的操作系统上运行 以致 Oracle 上所开发 的应用可移植到任何操作系统 只需很少修改或不需修改 Oracle 软件同工业 标准相兼容 包括许多工业标准的操作系统 所开发应用系统可在任何操作系 统上运行 可连接性是指 Oracle 允许不同类型的计算机和操作系统通过网络可 共享信息 3 SQL Server 数据库 SQL Server 是基于服务器端的中型的数据库 可以适合大容量数据的应用 在功能管理上也比较强大 在处理海量数据的效率 后台开发的灵活性 可扩 展性等方面强大 因为现在数据库都使用标准的 SQL 语言对数据库进行管理 所以如果是标准 SQL 语言 两者基本上都可以通用的 SQL Server 还有更多的 第 3 页 共 24 页 扩展 可以用存储过程 数据库大小无极限限制 由上可知 SQL Server 和 Oracle 这两个数据库比较适合作为数据检索系统 的数据库 1 6 关键技术 1 6 1 异构数据库 异构数据库系统是相关的多个数据库系统的集合 5 可以实现数据的共享 和透明访问 每个数据库系统在加入异构数据库系统之前本身就已经存在 拥 有自己的 DMBS DataBase Management System 异构数据库的各个组成部分 具有自身的自治性 实现数据共享的同时 每个数据库系统仍保有自己的应用 特性 完整性控制和安全性控制 异构数据库系统的异构性主要体现在以下几 个方面 1 计算机体系结构的异构 各个参与的数据库可以分别运行在大型机 小型机 工作站 PC 或嵌入 式系统中 2 基础操作系统的异构 各个数据库系统的基础操作系统可以是 Unix Windows NT Linux 等 3 DMBS 本身的异构 可以是同为关系型数据库系统的 Oracle SQL Server 等 也可以是不同 数据模型的数据库 如关系 模式 层次 网络 面向对象 函数型数据库共 同组成一个异构数据库系统 异构数据库系统的目标在于实现不同数据库之间的数据信息资源 硬件设 备资源和人力资源的合并和共享 其中关键的一点就是以局部数据库模式为基 础 建立全局的数据模式或全局外视图 这种全局模式对于建立高级的决策支 持系统尤为重要 大型机构在许多地点都有分支机构 每个子机构的数据库中都有着自己的 信息数据 而决策制订人员一般只关心宏观的 为全局模式所描述的信息 建 立在数据仓库技术基础上的异构数据库全局模式的描述是一种好的解决方案 数据仓库可以从异构数据库系统中的多个数据库中收集信息 并建立统一的全 局模式 同时收集的数据还支持对历史数据的访问 用户通过数据仓库提供的 统一的数据接口进行决策支持的查询 对于异构数据库系统 实现数据共享应当达到两点 一是实现数据转换 二是实现数据的透明访问 在转换的过程中 有时要想实现严格的等价转换是比较困难的 首先要确 定两种模型中所存在的各种语法和语义上的冲突 这些冲突可能包括 1 命名冲突 即源模型中的标识符可能是目的模型中的保留字 这时就 需要重新命名 2 结构冲突 如果两种数据库系统之间的数据定义模型不同 如分别为 关系模型和层次模型 那么需要重新定义实体属性和联系 以防止属 性或联系信息的丢失 总之 在进行数据转换后 一方面源数据库模式中所有需要共享的信息都 转换到目的数据库中 另一方面这种转换又不能包含冗余的关联信息 数据库转换工具可以实现不同数据库系统之间的数据模型转换 需要进一 第 4 页 共 24 页 步研究的问题是 如果数据库转换同时进行数据定义模式转换和数据转换 就 可能引起同一数据集合在异构数据库系统中存在多个副本 因此需要引入新的 访问控制机制 在保证各个参与数据库自治 维护其完整性 安全性的基础上 对于异构数据库系统提供全局的访问控制 并发机制和安全控制 数据的透明访问 在异构数据系统中实现了数据的透明访问 用户就可以 将异构分布式数据库系统看成普通的分布式数据库系统 用自己熟悉的数据处 理语言去访问数据库 如同访问一个数据库系统一样 但目前还没有一种广泛 使用的数据定义模型和数据查询语言 实现数据的透明访问可以采用多对一转 换 双向的中间件等技术 开放式数据库互连 Open DataBase Connectivity 简称 ODBC 是一种用来在相关或不相关的数据库管理系统中存取数据的标准应 用程序接口 API ODBC 为应用程序提供了一套高层调用接口规范和基于动态 链接库的运行支持环境 目前 常用的数据库应用开发的前端工具如 Power Builder Delphi 等都通过开放数据库互联 ODBC 接口来连接各种数据库系统 而多数数据库管理系统 如 Oracle Sybase SQL Server 等 都提供了相应 的 ODBC 驱动程序 使数据库系统具有很好的开放性 ODBC 接口的最大优点是 其互操作能力 理想情况下 每个驱动程序和数据源应支持完全相同的 ODBC 函 数调用和 SQL 语句 使得 ODBC 应用程序可以操作所有的数据库系统 1 6 2 WebService Web Service Web 服务 6 是一种新的 Web 应用程序分支 他们是自包含 自描述 模块化的应用 可以发布 定位 通过 Web 调用 Web Service 可以 执行从简单的请求到复杂商务处理的任何功能 一旦部署以后 其他 Web Service 应用程序可以发现并调用它部署的服务 Web Service 是一种应用程序 它可以使用标准的互联网协议 像超文本 传输协议 HTTP 和 XML 将功能纲领性地体现在互联网和企业内部网上 可将 Web 服务视作 Web 上的组件编程 Web Service 的一个主要思想 就是未来的应用将由一组应用了网络的服 务组合而成 只要两个等同的服务使用统一标准和中性的方法在网络上宣传自 己 那么从理论上说 一个应用程序就可以根据价格或者性能的标准 从两个 彼此竞争的服务之中选出一个 除此之外 一些服务允许在机器之间复制 因 而可以通过把有用的服务复制到本地储存库 来提高允许运行在特定的计算机 群 上的应用程序的性能 8 Web Service 系统包括以下相关技术规范 SOAP 即简单对象访问协议 Simple Object Access Protocol 它是用 于交换 XML 编码信息的轻量级协议 5 它有三个主要方面 XML envelope 为描 述信息内容和如何处理内容定义了框架 将程序对象编码成为 XML 对象的规则 执行远程过程调用 RPC 的约定 SOAP 可以运行在任何其它传输协议上 例如 用户可以使用 SMTP 即电子邮件协议来传递 SOAP 消息 在传输层之间的头是 不同的 但 XML 有效负载保持相同 WSDL 是用来描述网络 network 服务或终端 endpoint 的一种 XML 语言 它用于定义 Web Services 以及如何调用它们 描述 Web 服务的属性 例如它 做什么 它位于哪里和怎样调用它 WSDL 文档可用于动态发布 WebService 查找已发布的 Web Services 以及绑定 Web Service UDDI 即 Universal Description Discovery and Integration 6 它提供了 在 Web 上描述并发现商业服务的框架 UDDI 通过服务注册 以及使用 SOAP 访 第 5 页 共 24 页 问这些注册信息的约定来实现上述目标 2 需求分析 需求分析是指理解用户需求 就软件功能与客户达成一致 估计软件风险 和评估项目代价 最终形成开发计划的一个复杂过程 在这个过程中 用户的 确是处在主导地位 需求分析工程师和项目经理要负责整理用户需求 为之后 的软件设计打下基础 需求分析之所以重要 就因为他具有决策性 方向性 策略性的作用 他在软 件开发的过程中具有举足轻重的地位 大家一定要对需求分析具有足够的重视 在一个大型软件系统的开发中 他的作用要远远大于程序设计 2 1 功能需求 本系统启动以后 在输入连接 SQL Server 和 Oracle 数据库相应的连接字 符确认连接成功 选择目标数据库 并且查看数据库相应的表和其字段 在选 择中意的表后对其进行默认规则的合并 保存成具有描述表基本特征的 XML 文 件至用户本地 对合并后的 XML 文件进行检索并将其结果输出 数据流图 Data Flow Diagram 简称 DFD 是一种最常用的结构化分析工 具 它从数据传递和加工角度 以图形的方式刻画系统内的数据运动情况 本系统的顶层 DFD 图共有三个外部项 分别是用户 系统后台管理员 数 据转换规则系统 用户主要是把将要转换的源数据库中的数据从表中读出来 并且将数据传 递给多个数据库之间的数据转换功能的实现 该实现主要是对数据的数据类型 转换的处理 这是系统默认的转换方式 当处理完数据后 如果数据处理成功 转换系统就会把该数据以 XML 形式导出到用户本地 图 2 为用户的实现顶层 DFD 图 读取数据处理数据 导出数据 处理失败异常 图 2 用户的实现顶层 DFD 图 系统后台管理员主要是发布数据采集用的 WebService 在数据源发生变化 时候 发布变化后的数据源的采集 WebService 图 3 为系统后台管理员的实现 顶层 DFD 图 第 6 页 共 24 页 系统后台管理员发布数据采集的 WebService 图 3 系统后台管理员的实现顶层 DFD 图 数据库转换规则系统主要是把默认的转换规则 默认的转换规则主要是进 行数据保持不变的转换 用户主要是对数据进行检索操作 以便符合用户的要 求 通过调用转换规则 就可以调用相应的转换程序 转换程序也分为默认的 转换程序和用户自定义的转换程序 系统默认的转换程序主要是指两个不同的 数据库之间进行保持数据不变的操作 也就是跨数据库的信息传递 而用户自 定义的转换程序是指数据从源数据库中读出来之后 需要进行一些操作 比如 说计算或者数据类型的转换 然后再把新的数据传递给目标数据库 下图 4 为 多个数据库之间的数据转换功能的实现顶层 DFD 图 图 4 数据转换功能的实现顶层DFD 图 2 2 性能需求 2 2 1时间特性 修改规则 数据转换与传输和运行时间受到网络个人操作设备的影响会对 具体的操作有不同的反应 且随着系统的不断更新 版本的升级 在硬件设备 允许的条件下 会有所提高 2 2 2适应性 当数据源发生某些变化时 数据转换规则定制的操作方式 数据转换规则 结构 运行环境基本不会发生变化 变化只是将对应的发布的 WebService 改变 即可 2 2 3独立性 这里的独立性是指合并结果是独立于源数据 所以对于检索的结果用户可 以随意处理而不会影响任何源数据 2 3 运行需求 2 3 1用户界面 本系统通过微机进行运行 操作 输出 输入的相对时间将由微机本身的 数据转换规则 用户 数据转换 系统后台 管理员 制定规则 现有规则 待处理数据 第 7 页 共 24 页 处理速度来决定 其使用操作界面要求美观 方便 简洁 2 3 2硬件接口 本系统不需要特定的硬件或硬件接口进行支撑 2 3 3软件接口 本系统的软件接口由编程操作系统以及 IIS 发布的 WebService 组成 3 概要设计 概要设计主要就是把需求分析得到的需求抽象为信息结构 由于本系统涉 及到了两个不同的数据库管理系统 所以首先必须对它们进行概要设计 我在 定制规则中用到了 2 个数据库管理系统 包括 Oracle9i SQL Server2000 并 对它们的数据类型和表结构之间的差异进行了研究 由此定制出数据库之间的 默认转换规则 本系统包括两种系统默认的数据转换规则 前台用户界面是使 基于 C S 结构的 C 语言开发得 并将合并得到的数据文件以 XML 格式文件保存 由于 XML 的自定义性及可扩展性 立足以表达各种类型的数据 作为独立于平 台和设备的结构化数据表达方式 它有效地实现了计算机之间的对话 此外 随着 WWW 的风行 几乎所有的数据最终是通过终端客户的浏览器发布的 所以 XML 不可避免地成为后台数据库与外界进行交互的一个最合适的窗口 这一章 将介绍两个数据库之间数据转换的实现的设计方案 实现步骤设计图 检索具 备的前提条件 3 1 设计方案 本系统主要设计同时对两个数据库的使用 它们分别是 Oracle 和 SQL Server 由于数据库之间结构上存在一定差异 所以设计以下步骤来实现系统功 能 如图 5 所示 图5 系统实现步骤设计图 采集数据 操作数据 检索数据 导出数据 第 8 页 共 24 页 1 通过 WebService 采集异地数据库的数据 2 定制出进行数据转换的异构数据库系统 Oracle9i SQL Server2000 之 间的转换规则 包括系统默认转换规则 以实现对数据库中表中数据和表的关 联的合并转换 3 合并转换结果以 XML 文件格式存储在客户端 以随时方便使用者检 索数据 4 在客户端使用转换后的 XML 文件进行其检索并对其导出 具体设计步骤请见图 6 SQLServer 数据库Oracle 数据库 分布式 WebService 数据采集服务 保存为 XML 文件 是否符合默认合并规则 检索筛选结果 输出成为 Excel 文件 查看数据库信息 以及表 字段信息 数据合并 编辑数据 采集数据操作数据导出数据检索数据 N Y 图6 系统实现具体步骤设计图 3 2 数据源的采集设计 由于是对异地的数据库进行操作 本系统采集的数据是以 XML 的形式传播的 因此可以在本地数据库上建立 Web Service 代理来解决这些问题 访问结果以 第 9 页 共 24 页 XML 的形式返回给客户端 另外 服务端提供的 Web Service 是由 net 实现则 可以以 DataSet 来实现 DataSet 是以 XML 为内容的数据实体 它可以成为 Web Service 的返回结果被客户端直接使用 如果是其他平台则直接返回 XML 数据 并在客户端可以将它封装成 DataSet 形式 对于用户的写操作则可以接收用户 的操作语句 然后用 SqlCommand 来代理执行 这样服务端将远程客户访问本地 数据的工作在本地执行 既能很好的管理共享数据 又能减少客户端程序远程 访问的工作量 如图 7 所示 图 7 数据源采集步骤设计图 3 3 数据处理设计 对于数据的处理本着不改变原数据库里数据的数据类型和长度 如表 1 以 及表 2 所示 在其基础上结合本系统所要达到的效果 即本身系统检索是要达 到模糊查询的效果 此设计也是为了检索功能的通用性 对于其数据类型的处 理采取了折中转换的形式 将 SQLServer2000 和 Oracel9i 里所有的数据类型在 通过此系统合并之后 全部处理为本系统里的数据类型 System String 此转 化的效果即达到了系统检索的要求 同时也不会破坏原数据的完整性 这是因 为 System String 是字符串类型 字符串是 Unicode 字符的有序集合 用于 表示文本 String 对象是 System Char 对象的有序集合 用于表示字符串 String 对象的值是该有序集合的内容 并且该值是不可变的 表 1 SQLServer 数据类型对应本系统数据类型 SQLServer 数据库里常用数据类型本系统数据类型 boolSystem Boolean charSystem Char byteSystem Byte sbyteSystem Byte ushortSystem UInt16 uintSystem UInt32 ulongSystem UInt64 shortSystem Int16 intSystem Int32 第 10 页 共 24 页 longSystem Int64 floatSystem Single doubleSystem Double textSystem String 表 2 Oracle 数据类型对应本系统数据类型 Oracle 数据库里常用数据类型本系统数据类型 char System Char varchar2System String ncharSystem String nvarchar2System String dateSystem String longSystem Int64 rawSystem Int32 blobSystem Int32 clobSystem Int32 nclobSystem String bfileSystem String rowidSystem String intrgerSystem Int32 floatSystem Single realSystem String 3 4 XML 数据文件设计 使用 XML 格式数据是消除异构的关键之处 所以一个常见的问题是如何将 XML 映射到数据库 这种映射常常作为在 XML 文档和数据库特别是关系数据 库之间转换数据的软件的基础 在这个领域 一个重要的特点是映射是双向的 就是说可以把数据从 XML 文档转化到数据库 也可以从数据库转化到 XML 文 档 即使数据库没有自称支持 XML 特性 也可以在关系数据库中存储和检索 XML 文档 这样做需要一个框架来连接关系数据库和 XML 文档流 本系统将通 过 Microsoft Netl l 框架下的 DataSet 的 WriteXML 创建具有数据库特征的 XML 文件 下面是一段本系统所创建并使用的 XML 数据库文件 通过模型图 8 可以很容易地理解数据从 XML 模型到 XML 文档的转换 该模型图中的数据的类 型和结构与前面定义的 schema 示例一致 第 11 页 共 24 页 TempTemp Temp TESTID TESTNAME TESTDES TESTID TESTNAME TESTDES TESTID TESTNAME TESTD ES TEST 001 吉他 古典 002 贝司 烈焰 003 大师傅 fds32 图 8 XML 数据模型 001 吉他 古典 002 第 12 页 共 24 页 贝司 烈焰 003 大师傅 fds32 由以上 XML 数据所示 可以发现此 XML 很好的描述了数据库中表的基本特 征 你会注意到它包含了标准的 XML 头 这表示 schema 自己就是一个 XML 文档 而任何 schema 的根元素都必须是 schema 它 有一个或者多个说明自己的属性 在这种情况下 schema 的 namespace 定义属 性 xmlns 会定义名称空间为 xs 它将用作文档中所有元素的根名称空间 我们的 schema 示例中接下来的元素是 annotation 它的作用是代表同其父元 素有关的文档 annotation 可以包含两个子元素之一 或者是 documentation 或者是 appinfo 或者两者都包含进去 前者用于可读的文档 而后者则用来 保存供应用程序处理的指令 接下来我们定义了两个主要的元素 根元素 Temp 及其子元素 TESTID TESTNAME TESTDES 它们用在书目文档内 后者采用了两个 element 元素 这些元素都包含了定义名字的属性和各个元素准许的内容 在 此 Temp 表示表的名称 TESTID TESTNAME TESTDES 分别表示字段的名称 3 5 数据导出设计 对于数据的导出后的保存形式 有至少三种方案可以选择 1 XML 文本格 式 2 保存至数据库服务器 3 Excel 文件 三种方案各有优势 但是本着一切以用户的使用感受 以方便各级用户随 时使用检索后的数据 同时 也因为微软也为 C 操作 Excel 提供了完备的接 口 用 Excel 来实现 优点在于页面布局设计灵活 使用代码来操作数据要更 灵活 更精确 所以选择将导出后的数据以保存为 Excel 文件 数据导出保存为 Excel 文件的具体实现 调用了 Interop Excel dll 类文 件 通过它将 DataGrid 中的数据导入 Excel 中 并显示 Excel 应用程序 注意 调用该方法必须有安装 Excel2003 应用程序 并且假定 DataGrid 中绑定的是一 DataSet 至此可以完整导出数据至 Excel 4具体实现 4 1 开发环境 本系统全部的开发工作都在 Microsoft Netl l 开发环境上完成 Microsoft Netl l 是最新的 Net 框架程序 具有极好的安全性 并能在 Windows 系统操作系统上达到跨平台的效果 未来 Microsoft 还将支持 Linux 操作系统 可以说是当前最好的运行平台 该平台可以在 Windows98 2000 第 13 页 共 24 页 XP 2003 系列操作系统上安装 一旦安装完成就和原来的操作系统无关 更 为重要的是对于被检索的数据完全是基于 XML 的 NET 封装了大量 DOM 操作类 提高了对 XML 的开发速度 同时 NET 也提供了非常高效的 WEB 服务开发平台 另外 传统的数据库集成工具都要单独开发数据包装器用于数据库数据和 XML 之间的相互转化 而 NET 环境内置了 DATAADAPTER 对象能够非常高效的在数据 库和 XML 之间转化数据 这也是本系统选择 NET 开发环境的一个重要原因 4 2 部分编码详解 本系统所引用系统类如图 9 所示 图 9 引用系统类视图 图10 字段信息界面 分别用 SQL 语句读取相应的系统表 获取指定表的字段信息 如图 10 所示 第 14 页 共 24 页 图11 合并后的临时数据 第 15 页 共 24 页 图12 类关系视图 合并指定表 代码如下 效果见图11 类关系视图见图12 合并表数据 private static void OracleAndSQLServer SQLServerConn OracleConn uniteDs oraDs Copy foreach DataRow dr in sqlDs Tables 0 Rows object no dr ItemArray 动态加载 无视列的数目 uniteDs Tables 0 Rows Add no ReData uniteDs Tables 0 uniteDs Tables 0 AcceptChanges 图13 合并后的临时数据 本系统对于所有生成的 XML 文件进行选择后检索信息 对于检索的结果导 出 主要导出形式是以 Excel 表现的 检索代码如下 如图 13 所示 private void btnSearch Click object sender System EventArgs e try if this XMLShow SelectedItem null DataSet ds new DataSet ds ReadXml file XmlReadMode ReadSchema DataSet ds1 new DataSet ds1 ds Clone foreach DataRow row inds Tables 0 Rows string temp for int n 0 n ds Tables 0 Columns Count n temp row n ToString if temp IndexOf this txtSearchContent Text Trim 1 不等于 1 则temp里有包括的其值 object asd row ItemArray 注意程序运行的先后 切忌一行拉通 ds1 Tables 0 Rows Add asd this dgResult DataSource ds1 Tables 0 DefaultView XMLDs ds1 Copy else common showwindow 请选择xml文件 catch common showwindow xml文件读取异常或其他 5测试 在需求分析和系统设计之后 编码基本完成了 就要开始测试了 测试是 为了发现系统运行时的错误 下面就要介绍测试方法 5 1 测试方法 软件测试的方法和技术是多种多样的 对于软件测试技术 可以从不同的 角度加以分类 从是否需要执行被测软件的角度 可分为静态测试和动态测试 第 17 页 共 24 页 从测试是否针对系统的内部结构和具体实现算法的角度来看 可分为白盒 测试和黑盒测试 以下是用例测试的方法 1 获取 WebService 测试 1 调用连接数据库公用方法 connect 2 Debug 公用方法 connect 查看 Debug 参数中 connection 的值 3 当 connection 不为 null 时 则表示连接成功 否则连接失败 2 读取 XML 文件测试 4 调用读取 xml 文件方法 ReadXML 5 判断返回值 vector 是否为 null 6 当 vector 不为 null 时 则读取 xml 文件成功 否则读取 xml 文件 失败 5 2 测试结果 系统整体测试功能完全达到 运行时不会出错 不存在功能问题 在一些 不确定的因素下会造成 BUG 的出现 但几率极小 进行及时的调整就会将损失 降到最低 对于海量数据的读取和操作存在系统资源耗尽的风险 因为在程序设计之 初 对此考虑的不尽周全以致 再者 以现在一般用户的机器性能来做海量数 据的操作测试本身就存在不尽合理之处 结 论 本文主要提出了一种基于 Web Services 的分布式异构数据集成框架 并给 出了基本的技术实现方法 采用该模型可以实现数据源的 即插即用 即允许 数据源的动态集成 增加一个新

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论