一种基于XML技术的异构数据库存取方法:XML已经广泛运用于OLAP、OLTP、数据仓库、数据挖掘、移动计算、嵌入式计算和Web应用等多方面.各种异构应用系统之间存在着大量的数据交换,使用XML技术实现异构数据库同XML这种统一的信息交换标准双向转换,并基于XML文档进行Web应用等开发,可以最大限度地减少不必要的开支,实现数据的共享.XML同数据库相结合将随着XML技术的发展,会实现更强大的功能。
【技术实现步骤摘要】
本专利技术涉及一种基于XML技术的异构数据库存取方法,主要是基于XML技术的异构数据库数据双向存取模型的方法。
技术介绍
各种不同结构的数据库系统及各种格式的数据之间经常需要交互转换.若为每两个存储格式构筑转换应用,并针对不同格式数据进行开发,其复杂度呈指数增长.专门为Web应用程序而设计的XML (ExtensibleMarkup Language),作为一种可扩展性标记语言,其自描述性使其较好地适用于不同应用间的数据交换,而且这种交换是不以预先规定一组数据结构定义为前提.XML由于具有数据描述和数据传送能力,有很强的开放性,使其成为不同应用系统之间的数据接口标准.因此,可以以XML为中性载体进行数据交换和信息共享.同时,基于XML的数据交换,可实现数据库的XML数据双向存取,真正实现基于XML的分布式数据交换与信息共享.“以关系数据为存贮手段,以XML为交换载体”的数据管理和开发模式就成为一种趋势.
技术实现思路
基于上述问题,特此专利技术一种基于XML技术的异构数据库存取方法;数据库访问技术大多采用ODBC,JDBC, OLEDB等数据库接口和ADO等数据访问技术,但异构数据库结构的差别和接口的不一致性,使得开发人员不得不针对不同的关系数据进行相互的转换,而XML的可扩展性、平台无关性、开放性、自描述性等特点使其成为不同应用之间的数据接口标准,是所有信息的中间层表示,非常适用于异构系统之间的数据共享和交换.而各种大型数据库如0ra2cle, DB2, SQL Server等从各方面提供了对XML的支持,能够实现关系数据到XML文档的双向存取模型;各种开发语言C#,JAVA, DELPH I等也都提供了对XML的支持,采用XML文档作为异构数据库的中介,建立基于XML技术的异构数据库双向存取和开发模型。基于XML的数据双向存取模型其结构分为3层:1.用大型数据库存放关系数据,也可以为异构数据,通过各关系数据库对XML的支持,提供将关系数据转换为XML文档,并将XML文档数据读入数据库的双向访问能力。2.中间层为XML文档,使得不同数据库的关系数据在此层整合,取得统一标准。3.应用层可以使用和生成统一的XML文档,使基于XML的业务数据交换成为可能。即可以在XML文档上直接加上CSS,XSL等样式信息在浏览器中显示,也可以通过DOM,SAX等编程接口或AD0.NET等技术将XML数据同应用程序集成,进而使之同现有的业务规则相结合.开发基于XML的动态应用,如动态信息发布、动态数据交换等。具体实施方法各种大型的数据库系统都支持和XML文档的双向交互,SQL Server完全支持XDR(XML数据简化)架构,具有映射XML元素和属性到表和字段中的功能.其具备多种访问XML文档的方法,并可与XML文档进行双向交互.即可在URL中执行的查询可以直接访问SQL Server生成XML文档,也可以使用SELECT命令和FOR XML关键字,通过调用一个存储过程或是通过使用XPath查询来取得XML数据。1.SQL Server中实现关系数据和XML的双向交互;(I).读取关系数据生成XML文档;用FOR XML子句将数据读取成XML格式,该方法从SQL Server表中返回数据,可以将其看作XML数据它有RAW,AUTO和EXPLICIT 3种模式,以不同的格式来返回XML.FOR XML语句不必再返回一个rowset,只在客户端或中间层将它转换成XML 了.(2).从XML文档中解析数据并生成关系数据;SQL Server的0PENXML函数,可以像操作一个表那样来运用XML数据,可以将它们转换成内存中的一个rowset.它将XML解析成一个数据树,并将数据的句柄传递到0PENXML函数,即可操作数据,进行查询、插入、修改等.在处理完XML数据后,调用sp_XML_removedocument函数将XML数据从内存中删除。2.高级语言对XML文档编程;各种编程语言都提供读写XML文档的能力,.Net框架中主要使用相关的类和XML文档进行读写.这些类包括与读相关的类以及与写相关的类.下面实例中创建读取相应XML文档的XmlTextReader对象和向XML文档写入数据的XmlTextffriter对象,并使用对象的方法读出XML文档的数据和对XML文档写数据.(I).用Xm ITextReader类的对象来读取该XML文档;XmlTextReader textReader = new XmlTextRead2er ( C: \books.XML); textReader.Read ( ) ; / /节点非空则执行循环体 while ( textReader.Read ()) { textReader.MoveToElement ();/ /读取该元素的属性并显示在控制台中Console.WriteLine ( ” Name: + textReader.Name); Console.WriteL ine ( BaseUR 1: + textReader.BaselIR I) ; Console.W riteL ine ( Local Name: 〃 + tex2 tReader.LocalName); }(2).用Xm ITextffr iter类的对象向XML文档写数据;XmlTextWriter textWriter = new XmlTextW riter (C: \myXmFile.XML〃 , null); / /开始写过程,调用W riteStartDocument方法 textWriter.W ri teStartDocument (); / /写入说明 mment ( 〃 First Comment XmlTextW riter Samp Ie Examp le); textWriter.WriteComment ( 〃 myXmlFile.XML inroot dir); / /写入元素 textWriter.W riteStartElement( Name, 〃 〃 ); textWriter.W riteString( 〃 Student); textWriter.W riteEndElement (); / /写文档结束textWriter.W riteEndDocument ();针对异构数据库间数据交互转换复杂的问题, 通过异构数据库的数据访问,分析了基于XML技术的异构数据库数据双向存取模型,给出了 SQL Server数据库和.NET环境下的实现实例.结果表明,基于XML技术的异构数据库可实现数据共享,并减少了不必要的开支。本文档来自技高网...
【技术保护点】
一种基于XML技术的异构数据库存取方法:该方法主要是基于XML技术的异构数据库数据双向存取模型的方法。
【技术特征摘要】
1.一种基于XML技术的异构数据库存取方法:该方法主要是基于XML技术的异构数据库数据双向存取模型的方法。2.根据权利要求1的基于XML技术的异构数据库存取方法,此方法的基于XML的数据双向存取模型其结构分为三层;首先用大型数据库存放关系数据,也可以为异构数据...
【专利技术属性】
技术研发人员:杨际荣,
申请(专利权)人:镇江华扬信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。