转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> Sql Server >> 正文
SQL Server 2000 XML 概述         

SQL Server 2000 XML 概述

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1980 更新时间:2007/11/14 12:53:56

摘要:在一个任务关键数据存储于不同异构源的世界中,可扩展标记语言 (XML) 通过一种标准格式为不同应用程序间的数据交换和不同系统间的集成提供了强大的机制。

XML 已被紧密集成到 Microsoft® SQL Server™ 关系数据库管理系统 (RDBMS) 当中,可以帮助开发人员建立下一代 Web 和企业应用程序。本白皮书讲述了 SQL Server 2000 中的 XML 功能以及这些功能与 Oracle 中的功能比较。

为何实现 XML 与 RDBMS 的集成?

XML 支持以下商业方案下的信息交换:

企业对企业 (B2B)

不同供应商的集成供应链。

企业对消费者 (B2C)

要求从数据库获取数据的基于浏览器的应用程序。

企业内

集成,例如来自不同供应商的企业资源规划 (ERP) 和客户关系管理 (CRM) 软件。

这些商业方案要求为信息交换提供以下 XML 功能:

  • 映射松散结合的商业系统。

    SQL Server 2000 通过 XML 视图、XPath 查询和 SELECT 语句为关系数据提供 XML 视图。从 XML 数据到关系表的映射是使用 OPENXML 和注释架构提供的。

  • 对数据库的安全 HTTP 连接。
  • 对任意来源的 XML 数据的查询、更新和加载能力。

    SQL Server 2000 为 SQL Server (SQLOLEDB) 和 Microsoft ActiveX® 数据对象 (ADO) 访问存储于 SQL Server 中的数据提供了 URL 和 Microsoft OLE DB 提供程序。

SQL Server 2000 中的 XML 提供程序

Microsoft® SQL Server™ 2000 是适合建立基于 XML 的应用程序的高度可伸缩和可靠的平台。SQL Server 2000 提供了以下 XML 功能:

  • HTTP 访问
  • 用于以 XML 格式检索结果的新的 SELECT 语句选项 (FOR XML)
  • XML 模式
  • XML 视图
  • XPath 查询
  • OPENXML
  • OLE DB 和 ADO 访问

HTTP 访问

Microsoft® SQL Server™ 2000 为通过 HTTP 访问数据提供了三种方法:

  • URL 处的 SQL 语句

    SQL 语句和存储过程可以直接从 URL 处执行。这允许特别迅速地访问数据库中的数据。

  • 模板

    模板是包含一个或多个嵌入式 SQL 语句的有效 XML 文档。跟 SQL 语句一样,模板可以在 URL 处或在文件中指定。模板允许使用 URL 检索 SQL 数据而不向查询者暴露数据库的结构;查询者只能知道模板名称。这省却了在 URL 处输入很长的 SQL 语句的麻烦。SQL Server 2000 在模板内支持以下功能:

    • SELECT 语句和实体引用。
    • 存储过程的执行。
    • 参数传递和默认参数的指定。
    • XPath 查询。
  • HTML 事件后集成

    HTML 表单输入变量可以作为 URL 指定模板中的参数通过程序传递。可扩展样式表语言 (XSL) 样式表可用来处理客户端或 Web 服务器访问机制的输出。

使用 HTTP 访问时可用的选项

HTTP 访问方法支持以下选项:

contenttype

该关键字指定返回文档的内容类型。text/XML 是默认的文档内容类型。

xsl

该选项允许使用 XSL 文件处理查询结果。

安全

安全基于每个虚拟根目录设置,权限也在 SQL Server 上设置。ISAPI 动态链接库 (DLL) 有三种身份验证选项:

匿名访问 直接在虚拟根上设置 Microsoft Windows® 或 SQL Server 登录/密码并为所有用户所用。 基本身份验证 使用该选项时,清晰的文本 SQL Server 登录/密码要通过网络传递,因此该选项要结合安全套接字层 (SSL) 一起使用。 集成安全 使用 Windows 访问控制列表 (ACL)。

用于以 XML 格式检索结果的新的 SELECT 语句选项 (FOR XML)

您可以对已有关系数据库执行 SQL 查询并以 XML 格式而不是标准的行集格式返回结果。这些查询可以直接执行,也可以从存储过程中执行。要检索 XML 结果,请使用 SELECT 语句的 FOR XML 字句并指定 RAW、AUTO 或 EXPLICIT 等 XML 模式。

XML 模式

指定的 XML 模式决定了返回 XML 文档的形状。您可以指定以下 XML 模式:

RAW

RAW 模式获取查询结果并将结果集中的每一行转化为一个 XML 元素,并使用一个常规标识符作为元素标签,SELECT 中的列成为属性。

AUTO

AUTO 模式以简单的嵌套 XML 树返回查询结果。FROM 语句中至少有一列出现在 SELECT 语句中的表都被表示为 XML 元素。SELECT 语句中列出的列被映射为相应的元素属性。列也可以映射为子元素。结果集中元素的嵌套或者层次由 SELECT 语句中指定列所标识的表顺序决定。最左边的表将成为最顶层元素。次左边的表(由 SELECT 语句中的列标识)将嵌套在顶层元素内,依次类推。

EXPLICIT

在 EXPLICIT 模式下,您可以显式地定义结果 XML 树的形状。使用该模式要求以特殊方式书写查询,有关所需嵌套的附加信息也作为查询的一部分显式指定。

下图(图 1)显示了在 URL 中使用虚拟路径和 SQL 串以 AUTO 模式输出的结果。


如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。

图 1 在 URL 中使用虚拟路径和 SQL 串以 AUTO 模式输出的结果示例

使用 XML 模式时可用的选项

XML 模式支持以下选项:

XMLDATA

该选项随 XML 文档返回文档架构。

BINARY base64

在查询中指定该选项可以返回 base64 编码格式的二进制数据。在 RAW 和 EXPLICIT 模式下,不指定该选项检索二进制数据的结果是产生错误。

ELEMENTS

如果指定了该选项,列将以子元素形式返回,如下图(图 2)所示。否则,列将被映射为 XML 属性。该选项只支持在 AUTO 模式下使用。


如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。

图 2 使用元素选项的输出示例

XML 视图

Microsoft® SQL Server™ 2000 引入了几个 XML-数据架构语言注释以便提供数据库的 XML 视图。您可以在 XML-数据架构下使用这些注释来指定 XML-到-关系的双向映射。这包括 XML-数据架构中元素和属性到数据库中表和列的映射,以及反向的映射。默认情况下,注释架构中元素名映射于指定数据库中相同名称的表(视图),而属性映射于相同名称的列。这些注释还可以用于指定 XML 中的层次关系。

XPath 查询

SQL Server 2000 支持 XPath 语言的一个子集,使用它和前面讲述的 XML 视图技术可以从数据库获取 XML 结果。

OPENXML

OPENXML 是一个 Transact-SQL 关键字,可以在内存中的 XML 文档内提供关系/行集视图。OPENXML 是类似于表或视图的行集提供者。OPENXML 通过将数据从 XML 文档传入关系表而提供了在 Transact-SQL 上下文中访问 XML 数据的机制。因此,OPENXML 允许您管理 XML 文档及其与相关环境的交互。

OPENXML 可以用在 SELECT、INSERT、UPDATE 和 DELETE 等语句中。您可以指定 OPENXML 代替指定数据源表或视图。

XML 文档可以作为文本参数(charncharvarcharnvarchartextntext)传递给存储过程。OPENXML 语句可与其他 Transact-SQL 语句一起使用来提供 XML 数据的行集视图,因此执行插入、更新、删除和联接等关系操作时可以将 XML 文档作为数据源。这可以用来通过单个存储过程调用对数据库执行多行、多表更新。

OLE DB 和 ADO 访问

SQLOLEDB 已为 XML 和 Xpath 做了扩展。添加了一个新的 ICommandStream 接口用来向 OLE DB 传递需要处理的模板。另外,OLE-DB 提供程序的属性集也得到扩展,允许支持 IStream 的对象规范返回 XML 结果以及支持使用通过映射架构定义的 XML 视图进行 XPath 查询。流对象是在 ADO 2.5 中引入的,现在可以与新引入的语言分支一起用来向数据库发送 XPath 查询和从数据库接收 XML 结果。

Oracle 比较分析

SQL Server 2000 中的 XML 功能与 Oracle 中的功能类似。其主要差别在于 Oracle 建立了一个常规的 XML 框架,而 Microsoft 在 SQL Server 2000 内建立了特殊的 XML 支持。SQL Server 2000 支持通过简单的“即插即用”公开机制(XML 视图)在松散结合的商业系统间提供映射。例如,它直接包含了对检索 (FOR XML) 和存储 (OPENXML) XML 数据的支持。而 Oracle 的 XML 技术即使执行简单的 XML 任务也需要复杂的编程工作。与 Oracle 的解决方案不同,SQL Server 2000 为生成不同格式的 XML 文档提供了内在支持,而不必进行 XSL 转换。

功能列表

功能
SQL Server 2000
Oracle
松散结合商业系统的公开映射
这些功能在 XML 和数据关系视图间提供双向映射。
SQL Server 2000 集成的 XML 功能允许通过最少的编程工作启用系统。
Oracle 不带任何集成 XML 特定功能。

[1] [2]  下一页


[Access]sql随机抽取记录  [Access]ASP&SQL让select查询结果随机排序的实现方法
[互联动态]20008年最紧缺的IT人才和最热门七大技术  [Web开发]XML与HTML在语法上的主要区别详解
[聊天工具]Office 2000 服务器扩展  [聊天工具]最cool的p2p软件——edonkey2000
[聊天工具]企业邮件系统的利器----FoxMail Server  [系统软件]八招秘籍保证Windows 2000安全
[系统软件]OPEN SERVER 5.0.5安装EXP300阵列柜  [系统软件]如何让Expat支持中文XML
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台