一种基于XML的异构数据交换方法:XML的可扩展性和自描述性以及其它特性为异构数据交换提供了新的思路。基于XML本文提出了1种异构数据交换的方法,并结合应用实例给出了它的具体的实现过程。
【技术实现步骤摘要】
本专利技术涉及一种基于XML的异构数据交换方法,特别涉及的是基于XML本文提出了 I种异构数据交换的方法。
技术介绍
数据库应用发展到今天,已有相当数量的企业和科研机构积累了大量的、以不同形式存储的、依赖于不同数据库管理系统的数据,如何共享这些数据信息,是企业进I步发展所需解决的问题。另外,由于历史等原因,Internet上的数据库系统不少也是分布、异构的,Internet上大量信息必须通过数据库系统才能有效管理,如何合理地使用这些异构数据库,已成为当前急待解决的问题。异构数据库系统是相关的多个数据库系统的集合,用以实现数据的共享和透明访问。异构数据库系统的异构性主要体现在以下几个方面:1)计算机体系结构的异构。2)基础操作系统的异构。3)DBMS本身的异构。本文中讨论的异构数据库属于第3种类型,即在不同DBMS的两个异构数据库系统间(Oracle数据库和SQLServer数据库)进行信息交流。XML即为“可扩展的标记语言”(extensible Markup Language),是I套定义语义标记的规则。是由W3C组织于1998年2月制定的I种通用语言规范,是SGML的简化子集,专门为Web应用程序而设计。XML作为I种可扩展性标记语言,其自描述性使其非常适用于不同应用间的数据交换,而且这种交换是不以预先规定I组数据结构定义为前提。XML的最大优点是对数据描述和数据传送能力,因此具备很强的开放性。为了对XML文档的结构与允许值进行定义和检查,有两种办法:1是使用DTD文档类型定义;2是使用XML Schema。这两者均为XML规范的I部分。DTD的用途很多,可用来定义内容的模式、限制数据的范围、限制属性的数据类型等。但DTD也有I些不足之处:DTD本身不符合XML规范;它不支持名称空间(Namespace);扩展性差;数据类型有限等。XMLSchema相对于DTD的明显好处是Schema文档本身符合XML规范,而不是象DTD那样使用特殊格式。用户与开发者可以使用相同的工具来处理XML Schema,而不必使用特殊的工具。
技术实现思路
基于上述问题,特此专利技术一种基于XML的异构数据交换方法;本方法根据映射关系的建立方式不同,我们可以得到两种数据转换方法:基于模板驱动的转换方法和基于模型驱动的转换方法。基于模板的映射方法并不预先定义好XML文档与其他数据之间的映射关系,而是在XML文档中嵌入带参数的SQL命令。这些命令在转换过程中被系统所识别和执行,执行的结果被替换到指令所在的位置,从而生成目标XML文档,并用数据传输诸如中间件等实体软件进行处理。基于模板的转换方法的好处在于转换的步骤比较简单,只要给出模板,就可以快速地生成相应的XML文档。不足之处在于,基于模板驱动的映射是I种浅层映射,以XML内嵌的SQL执行的数据结果集为依据,不涉及数据库赖以存在的关系模式,它只是将关系数据库的数据转换为XML文档,并没有提取出关系模式,它舍弃了关系模式的种种约束条件,因此对于反向的转换更是无能为力。基于模型驱动的映射,当把数据从数据库传送到XML文档或把数据从XML文档传送到数据库时,不是仅仅依赖内嵌SQL命令,而是用I个具体的模型实现的。基于模型的转换方法用这个预先定义好的数据模型来映射XML与关系数据库数据之间的关系。基于模型的转换方法的关键在于设计I个灵活的映射模型,为了更好的支持其逆向映射的特点,这个映射模型必须是易于“读懂”的、易于操纵的,能够很好的与达关系数据库的各种约束。关系数据库的理论依据是关系模型,而XML文档的依据是XML Schema或DTD等。具体实施方法数据库的异构主要是DBMS的异构,I个是Oracle的DBMS,I个是SQL Server的DBMS,设计了 I种利用XML来实现这两个异构数据库信息交流方法。本系统具体实现总体上可分为两个部分,其I是客户端Oracle数据库中的数据到XML文档的映射过程,其2是XML文档到SQL Server数据库的映射过程。1.SQL Server数据库中表及其相互关系在SQL Server数据库中有两个表,这两个表中的数据正是我们交换的信息,各个表的信息和表之间的约束关系如下:表1: Table studet ( Idchar(10) not null, //学 号 namechar(15) null, //姓 名 sexchar (2)null, //性 别 class char(10) null, //所在班级 ageInteger null, //年龄constraint PK_student primary key (Id)) 表2: Table depart (class char (10) not null, //班 级 boy_num Integernull, //男生人 数 girl—num Integernull, //女生人 数 monitor char(15)null, //班 长 teacher char(15) null, //班主任constraint PK_depart primary key(class)constraint fk_RCforeignkey(calss)References student (calss))2.通过ADO。NET将关系数据库映射为XML Schema利用ADO15NET组件将SQLServer关系数据库映射为XML Schema,该XMLSchema正是我们把Oracle数据库服务器中数据映射为XML文档所要依据的XMLSchema,下面是C#中产生XML Schema的部分关键代码(这里仅列出与表I有关的代码,至于其它三个表,类同)://产生I个新的数据集DataSet ds=new DataSet ( “studentXML”);// 连接数据源 OleDbConnectionconn = newOleDbConnetion (0,,server = student ;uid = system ;pwd =manager ;datasource = student”)//生成数据适配器(仅列出表的相关代码student)OIeDbDataAdapter da index = new OIeDbDataAdapter( SELECT*FROMstudent”,conn);//用适配器填充数据集da_index。Fill (ds, ”student”);//在数据集中添加表与表之间的关系 ds。Relations。Add(ds。Tables[ student ]。 Columns[ class ],ds。 Tables[ depart]。Columns [ class ]) ;// 生成 XML 文件 ds。WriteXml ( “。。\\。。\\\jhsy。xml , XmlWriteMode。WriteSchema);通过执行这些代码后,I个标准XML Schema格式文档即可生成。3.从Oracle数据库到XML文档的映射;具体方法是先将数据库中的数据检索、过滤到数据窗口中,然后用程序方法来实现数据到XML文档的映射。主要用到的函数就是本文档来自技高网...
【技术保护点】
一种基于XML的异构数据交换方法:该方法主要基于模板驱动的转换方法和基于模型驱动的转换方法。
【技术特征摘要】
1.一种基于XML的异构数据交换方法:该方法主要基于模板驱动的转换方法和基于模型驱动的转换方法。2.根据权利要求1的基于XML的异构数据交换方法,此方法的基于模板的映射方法并不预先定义好XML文档与其他数据...
【专利技术属性】
技术研发人员:杨际荣,
申请(专利权)人:镇江华扬信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。