 |
建站必读 |
 |
|
|
 |
|
 |
|
| |
| 当前位置:首页 -> 建站必读 -> JSP技术 |
|
XML实现异构数据库间转换的实现与分析(转) |
XML实现异构数据库间转换的实现与分析
类型: XML/Biztalk 收录时间: 2002-4-8 9:20:00
XML中一种扩展的标记语言,它具有很好的扩展性标记.本文通过XML实现不同数据库的定义,实现对XML数据库的访问和异构数据库之间的互访.
关键词:XML 异构数据库 信息交换 数据库访问
1 引言
XML(Extensible Markup Language)它是由W3C组织于1998年2月
制定的一种通用语言规范,是SGML 的简化子集,专门为 Web 应用程序而设计.XML作为一种可扩展性标记语言,其自描述性使其非常适用于不同应用间的数据交换,而且这种交换是不以预先规定一组数据结构定义为前提.XML最大的优点是它对数据描述和数据传送能力,因此具备很强的开放性.为了使基于XML的业务数据交换成为可能,就必须实现数据库的XML数据存取,并且将XML数据同应用程序集成,进而使之同现有的业务规则相结合.开发基于XML的动态应用,如动态信息发布、动态数据交换等,前提是必须有支持XML的数据库支持. XML 提供描述不同类型数据的标准格式 -- 例如:约会记录、购买定单、数据库记录、图形、声音等 -- 并且可一致而正确地解码、管理和显示信息. XML一开始就建构在Unicode(统一码)之上,提供了对多语种的支持,具有世界通用性.
2 XML与数据库的结合
XML数据源有多种多样,根据具体的应用,大概可分为下面三种:一种是XML纯文本文档;第二种是关系型数据库;第三种则来源于其他各种应用数据,如邮件、目录清单、商务报告等.其中,第一种来源,即XML纯文本文档是最基本的也是最为简单的,将数据存储于文件中,其最大的优点在于可以直接方便地读取,或者加以样式信息在浏览器中显示,或者通过DOM接口编程同其他应用相连.第二种数据来源是对第一种来源的扩展,目的是便于开发各种动态应用,其优点则在于通过数据库系统对数据进行管理,然后在利用服务器端应用(如ASP、JSP、Servlet)等进行动态存取.这种方式最适合于当前最为流行的基于三层结构的应用开发.第三种数据由于来源广泛,因此需要具体情况具体对待.本文的分析主要针对前两种数据来源进行分析.
对于XML文档,可以通过DOM(Document Object Model)读取XML文档中的节点,是最基本也是最底层的XML存取技术. DOM是W3C的一种技术标准,实际上是提供一组API来存取XML数据. DOM可以通过JavaScript,VBScript等脚本程序来实现,也可通过C++、Java等高级语言来实现.
其次,也可通过DSO(Data Source Object)进行XML的数据绑定可以方便地将XML节点同HTML标记捆绑,从XML文档中读取或写入数据,就象访问Microsoft Access或Microsoft SQL Server一样;而 HTTP+SQL是Microsoft新近提出的SOAP方案的核心,其基本原理是通过基于HTTP协议的URL方式直接访问SQL SERVER数据库,并返回以XML或HTML数据格式的文档.
XML数据库又分为两种:一种是以XML原始格式存储的数据库我们称为"native-XML数据库";另一种是以XML格式存入和导出,且它本身又是一个数据库,我们称为"XML-enabled数据库".
2.1 native-XML数据库
对于native-XML数据库的访问,我们可以通过XQL语言来完成. 通过XQL我们可以对一个或多个XML文件进行查询,它返回一个封装在根元素(sql:result)的节点集,这个节点集也是一个XML文件.
2.2 XML-enabled数据库
因为数据是以XML格式存入和导出,且它本身又是一个数据库,这就涉及到异构数据库间的互访问题. XML提供了一种连接关系数据库和面向对象数据库以及其他数据库系统之间的访问技术,也就是说我们可以先对关系数据库和面向对象数据库以及其他数据库系统进行访问,然后生成XML文件,再将文件存入数据库或作其他处理.
3 使用JSP连接数据库并进行查询生成 XML文档
我们有许多方法可做到连接数据库并进行查询,生成 XML文档.以下是通过JSP技术对SQL Server存储的 XML 文档进行查寻并提取这些文档,然后将其传送给用户.(SQL Server数据库本身就支持XML格式.对于不支持 XML 的数据库,您可以将 XML 文档存储为字符大对象(CLOB),并以文本块的方式检索文档.)Java语言应用程序的开发者提供了一个通用的SQL数据库访问和存储结构,即JDBC,它是一种用于数据库访问的应用程序编程接口(API),开发者可以通过JDBC产品组件之一J |
| |
|
| |
本站关键词: |
|
|
|
|
 |
|
 |
|