XML与数据库ppt课件_第1页
XML与数据库ppt课件_第2页
XML与数据库ppt课件_第3页
XML与数据库ppt课件_第4页
XML与数据库ppt课件_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、17.1 数据存储7.2 XML与数据库的转换7.3 SQL Server 对 XML的支持7.4 Oracle对 XML的支持2 XML与数据库的关系越来越密切。从存储在不同介质中的数据自动的生成XML文档以及从不同的数据存储交换信息,将成为未来面向信息的Internet的主要特点,信息世界的多极化必将使动态XML文档不断的增加:它们用于加载任何的东西,包括图像和声音;还用于越来越多的信息交换。从多用户参与操作的需求来看,最好的方法就是利用数据库。 数据存储描述的是任何用来存储数据的介质。数据存储可以是结构化的文本文件、XML文件、关系数据库,甚至是某种专用的二进制格式。本节我们将对比一下如

2、何使用关系数据库和XML文档来储存信息,然后再看看如何将这二者结合起来,以提供一种可靠的、易于存储的数据存储。3 数据库和XML有很多共同之处:二者都提供了构造和存储信息的方法。关系数据库以记录和字段的形式存储信息,其特点在于字段或记录之间的顺序和关系并不重要。同样可以构造一个XML文档来存储信息,其存储方式与数据库相似。不同的是,在XML文档中,各个部分之间的顺序或关系总是有意义的。 对于大多数信息而言,既可以作为关系数据库存储,又可以作为XML文档存储。在很多情形中,采用哪一种存储介质并没有明显的优劣差别。但在某些情形中,哪一种更合适是很明显的。采用何种数据存储介质,不仅取决于数据本身的特

3、性,还取决于使用数据的方式。4 1.数据的查询 XML文档的查询和选择必须使用DOM和XPath来进行。例子:Query.cs 2.更新和插入 使用DOM方法,也可以很方便地实现更新和插入操作 。例子:XmlAdd.cs5 现在的很多技术都支持XML与数据库的连接,如ASP ,DOM,SOAP,XML-RPC等,下面就来看看利用ASP.NET和DOM来实现数据库与XML的信息交换,即如何把数据库中的信息提取出来生成所需的XML文档,以及怎样把一些重要的信息写入到数据库中。7.2.1数据库到XML文档的信息传送例子:DBtoXML.cs7.2.2 XML文档到数据库的信息传送例子:XMLtoDB

4、6 SQL Server2000中的XML支持包括: 使用SELECT语句中的FOR XML子句检索XML数据 简单的HTTP URL请求 Updategram XML Bulkload OPENXML7 注意,如果只是安装了基本的SQL Server2000,这些技术还是不可用的,需要安装XML for SQL Server2000 Web Release1,该软件可从微软网站上免费下载。另外,这里的很多技术还需要IIS5.0或更高版本的支持方可工作。7.3.1. 从SQL Server数据库中提取XML数据 1FOR XML 从SQL Server数据库中提取XML数据的最基本方式是在SQ

5、L 查询中使用FOR XML子句,告知SQL Server提供一份XML文档来作为响应。 FOR XML子句的基本语法如下: FOR XML mode , XMLDATA , ELEMENTS , BINARY BASE648 其中mode是使用该子句时需指明的下述三种模式之一: RAW 提供一份简单的几乎没有格式化的XML结果 AUTO提供一份具有更多格式 选项的XML结果 EXPLICIT允许 对所返回的XML结果进行显示的格式化 2. 简单的HTTP URL请求 SQL Server2000的另一项功能是能够通过http执行查询,所需的工作仅仅是将它们标记到URL的尾部。也可以以类似的方

6、式提供XPath查询。但是在产品级的应用程序中并不提倡这样做,因为该语法允许执行任意的查询,这样如果该数据库暴露在Internet上,将会引发潜在的安全隐患。不过,在设计期间用它来进行测试还是很有用的。 97.3.2. XML数据插入到数据库 1. OPENXML OPENXML的基本语法如下所示: OPENXML (iDoc int in,RowPattern nVarchar in,Flags byte in ) WITH (rowsetschema colpatterns | tablename ) iDoc参数指定表示XML文档的内部节点树,该参数包含由sp_xml_preparedo

7、cument存储过程所返回的值。 RowPattern参数用来定义将要返回的XML文档中的元素,指定OPENXML将要处理的iDoc文档的节点。节点是通过XPath表达式来指定的。 Flag参数告诉SQL Server搜索属性和(或)子元素。该值可以是0(默认值,表示属性)、1(属性)或2(元素)。要同时搜索属性和元素,您需要组合这些值来生成3。10 WITH子句允许指定希望出现在结果集中的列、它们的数据类型及将源XML的哪个节点映射到该列。WITH子句有三个选项: WITH TableName将结果集关联到一个已有的数据表。 WITH (Name varchar(20),Root/Name)

8、指定列、数据类型及用于告知处理器源XML节点映射位置的XPath表达式(可选)。 全部忽略掉该子句。2. XML BulkLoad XML BulkLoad技术可以用于将大量的XML数据填充到数据库的数据表中。 11 为此,需要使用SQLXMLBulkLoad对象。可以通过VBScript之类的脚本语言来创建该对象: Set BulkLoadObj = CreateObject(“SQLXMLBulkLoad. SQLXMLBulkLoad”)一旦有了该对象,还要为它提供:连接细节,以保证它能够访问待填充的数据库。包含待上载数据的XML。用于说明XML数据和数据库间映射细节的注释schema文

9、件。 12 Oracle公司在其最新Oracle 8i数据库产品中提供了对XML的支持,使其成为开发基于XML的Internet应用的系统平台。作为Oracle 8i数据库的一个主要组成部分,Java版本的XMLSQL实用工具在Oracle公司的XML战略计划中扮演着重要角色。该工具包包含了一组Java类,可完成下述两大功能: 向数据库发送查询语句,然后从返回的结果中输出XML文档(文本或DOM节点树)。 将XML数据保存至数据库。 这两大功能可以说是SQL数据库支持XML的最基本要求,却足以体现当今XML技术发展的潮流。13Oracle Java版本的XMlSQL实用工具具有下列特性:能够从SQL查询中产生XML文档能够从SQL查询语句或JDBC ResultSet对象中输出文 本或文档对象模型节点树(DOM)。能够将XML文档数据写人数据库表或视图中支持w3C的XMLl.0推荐标准。可以通过扩展进而支持Sax1.0文档访问。支持基于下列字符集

温馨提示

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

最新文档

评论

0/150

提交评论