- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 XML与数据库 7.1 数据存储 7.2 XML与数据库的转换 7.3 SQL Server 对 XML的支持 7.4 Oracle对 XML的支持 7.1 数据存储 XML与数据库的关系越来越密切。从存储在不同介质中的数据自动的生成XML文档以及从不同的数据存储交换信息,将成为未来面向信息的Internet的主要特点,信息世界的多极化必将使动态XML文档不断的增加:它们用于加载任何的东西,包括图像和声音;还用于越来越多的信息交换。从多用户参与操作的需求来看,最好的方法就是利用数据库。 数据存储描述的是任何用来存储数据的介质。数据存储可以是结构化的文本文件、XML文件、关系数据库,甚至是某种专用的二进制格式。本节我们将对比一下如何使用关系数据库和XML文档来储存信息,然后再看看如何将这二者结合起来,以提供一种可靠的、易于存储的数据存储。 数据库和XML有很多共同之处:二者都提供了构造和存储信息的方法。关系数据库以记录和字段的形式存储信息,其特点在于字段或记录之间的顺序和关系并不重要。同样可以构造一个XML文档来存储信息,其存储方式与数据库相似。不同的是,在XML文档中,各个部分之间的顺序或关系总是有意义的。 对于大多数信息而言,既可以作为关系数据库存储,又可以作为XML文档存储。在很多情形中,采用哪一种存储介质并没有明显的优劣差别。但在某些情形中,哪一种更合适是很明显的。采用何种数据存储介质,不仅取决于数据本身的特性,还取决于使用数据的方式。 7.1.1 关系数据库中信息的存储与查询 7.1.2 XML数据中信息的存储与查询 1.数据的查询 XML文档的查询和选择必须使用DOM和XPath来进行。 2.更新和插入 使用DOM方法,也可以很方便地实现更新和插入操作 。 7.1.3 ADO.NET结构 1、ADO.NET结构 2、.NET数据提供程序 两种数据提供程序都包含Connection, Command,DataReader和DataAdapter四个对象。 7.2 XML与数据库的转换 现在的很多技术都支持XML与数据库的连接,如ASP ,DOM,SOAP,XML-RPC等,下面就来看看利用ASP.NET和DOM来实现数据库与XML的信息交换,即如何把数据库中的信息提取出来生成所需的XML文档,以及怎样把一些重要的信息写入到数据库中。 7.2.1数据库到XML文档的信息传送 7.2.2 XML文档到数据库的信息传送 7.3 SQL Server 对XML 的支持 SQL Server2000中的XML支持包括: 使用SELECT语句中的FOR XML子句检索XML数据 简单的HTTP URL请求 Updategram XML Bulkload OPENXML 注意,如果只是安装了基本的SQL Server2000,这些技术还是不可用的,需要安装XML for SQL Server2000 Web Release1,该软件可从微软网站上免费下载。另外,这里的很多技术还需要IIS5.0或更高版本的支持方可工作。 7.3.1. 从SQL Server数据库中提取XML数据 1.FOR XML 从SQL Server数据库中提取XML数据的最基本方式是在SQL 查询中使用FOR XML子句,告知SQL Server提供一份XML文档来作为响应。 FOR XML子句的基本语法如下: FOR XML mode [, XMLDATA] [, ELEMENTS] [, BINARY BASE64] 其中mode是使用该子句时需指明的下述三种模式之一: RAW ——提供一份简单的几乎没有格式化的XML结果 AUTO——提供一份具有更多格式 选项的XML结果 EXPLICIT——允许 对所返回的XML结果进行显示的格式化 2. 简单的HTTP URL请求 SQL Server2000的另一项功能是能够通过http执行查询,所需的工作仅仅是将它们标记到URL的尾部。也可以以类似的方式提供XPath查询。但是在产品级的应用程序中并不提倡这样做,因为该语法允许执行任意的查询,这样如果该数据库暴露在Internet上,将会引发潜在的安全隐患。不过,在设计期间用它来进行测试还是很有用的。 7.3.2. XML数据插入到数据库 1. OPENXML OPENXML的基本语法如下所示: OPENXML (iDoc int [in],RowPattern nVarchar [in],[Flags byte [in] ]) [WITH (rowsetschema [colp
文档评论(0)