您当前的位置:首页>>技术中心>>数据恢复文章>>正文
 
MSSQL 使用 EXPLICIT 模式一
作者: 来源: 日期:2009-7-28 17:53:12  点击次数:

在 EXPLICIT 模式中,查询书写器控制由执行查询所返回的 XML 文档的形式。必须以特定的方

式编写查询,将有关预期嵌套的附加信息显式指定为查询的一部分。可用 directive 在列级指定附

加的配置。当指定EXPLICIT 模式时,必须负责确保生成的 XML 符合语法规则并且有效(对于

XML-DATA 架构)。

 

1、处理 EXPLICIT 模式查询和通用表
    EXPLICIT 模式将查询执行所得到的行集转换为 XML 文档。为使 EXPLICIT 模式生成 XML 文

档,行集必须具有特定的格式。这需要以某种方式编写 SELECT 查询以生成具有特定格式的行集(

称为通用表),可对该行集进行处理以生成请求的 XML 文档。

 

    EXPLICIT 模式首先要求查询生成两个元数据列:

    (1) 在 SELECT 子句中指定的第一列必须是命名 (Tag) 标记号。Tag 列存储当前元素的标记

              号。Tag 是整型数据类型。

    (2) 指定的第二列必须是父元素的命名 (Parent) 标记号。Parent 列存储父元素的标记号。


     这些列用于确定 XML 树中的父子层次结构。这些信息随后用于生成预期的 XML 树。如果存储在

Parent 列中的父标记值是 0 或 NULL,则将行放置在 XML 层次结构的顶层。

     通用表的其余部分充分描述所得到的 XML 文档。行集(通用表)中的数据垂直分区成组。每组

成为结果中的一个 XML 元素。

     FOR XML EXPLICIT 模式要求 SELECT 查询以某种方式指定通用表中的列名。它要求

SELECT 查询将元素名与标记号相关联,并提供通用表列名中的特性名(默认情况下是特性名)。此

外,若要得到与父实例相关联的正确子实例,需要对行集排序,使子实例紧跟在它的父实例后。简言

之,通用表的列名、Tag 和 Parent 元列中的值以及通用表格式的数据所提供的信息都用于生成所期

望的 EXPLICIT 模式的 XML 文档。

 

     SELECT 查询还必须指定通用表中的列名。通用表中的列名使用 XML 类属标识符和特性名进行编

码。通用表列名中的元素名、特性名和其它转换信息的编码被指定为:

       ElementName!TagNumber!AttributeName!Directive

 

参数
ElementName

     是所得到的元素类属标识符(例如,如果将 Customers 指定为 ElementName,则

     <Customers> 是元素标记)。

TagNumber

     是元素的标记号。借助于通用表中的两个元数据列(Tag 和 Parent),TagNumber

     用于表示 XML 树中的 XML元素嵌套。每个 TagNumber 都准确对应于一个 ElementName。

AttributeName

     是 XML 特性的名称(如果没有指定 Directive)或包含的元素名(如果 Directive 是

      xml、cdata 或 element)。
     如果指定 Directive,则 AttributeName 可以为空。这种情况下,列中包含的值直接

     由具有指定 ElementName 的元素所包含。

Directive

     是可选命令。如果没有指定 Directive,则必须指定 AttributeName。如果没有指定

     AttributeName 且没有指定 Directive(如 Customer!1),则表示元素命令(如

     Customer!1!!element)且包含数据。

     Directive 有两种用途。该选项用于分别使用关键字 ID、IDREF 和 IDREFS 对 ID、

本新闻共9页,当前在第1页  1  2  3  4  5  6  7  8  9  


上一篇:ETL工具点评
下一篇:MSSQL 使用 EXPLICIT 模式二
  北京总部: 4006-505-808
  天 津 部: 4006-505-808
  上 海 部: 4006-505-808
  深 圳 部: 4006-505-808
  广 州 部: 4006-505-808
  重 庆 部: 4006-505-808
  南 京 部: 4006-505-808
  其它地区: 4006-505-808
经典案例
中国石油管理局-Oracle数据库恢
中国网通-IBM EXP300磁盘阵列数
大连鸿德经贸有限责任公司-SQL
中国地质环境监测院-HP LH3000
藁城市东街百货-EFS文件解密成
工商银行某省分行-AIX删除LV数
中央电视台新闻评论部-苹果分
promise乔鼎硬盘阵列数据恢复成
麒麟童文化-苹果分区无法打开,
NAS 8100服务器数据恢复成功 
解决方案
raid磁盘阵列OFFLINE后的应急方
磁盘未被格式化,是否格式化数据
误GHOST、误一键恢复灾难应急方
误删除、误格式化数据灾难应急
LINUX FSCK数据出错灾难应急方
北亚数据恢复 - 联系我们 - 关于北亚 - 友情链接 - 网站地图 - RSS聚合 
版权所有 北亚数据恢复中心
全国统一客服热线:4006-505-808
北京总部:北京市海淀区中关村大街11号E世界A座8层832B室