当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:21:00  来源:本站整理

SQL Server数据库和XML标识语言的集成[MSSQL防范]

赞助商链接



  本文“SQL Server数据库和XML标识语言的集成[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

XML相比HTML赐与了Web开辟人员更大的编程机动性.这种技术驱动开辟机构尝试把XML同自己的产品集成起来.微软就是采纳如此办法的先驱者.微软的几近全部产品中都能看到XML的身影.举个例子:微软是如安在其sql server产品线中集成XML的呢?下面咱们就来看看关键的FOR XML子句.

以XML的名义获得信息

SQL Server和XML之间的集成主要一点就是按照SQL数据成立XML文件.XML文件的构造并不复杂,用简单的脚本和ADO记录集便可以轻松产生.这个任务固然不算麻烦,但开辟人员却需求针对他们从服务器获得的后果调集产生差别的脚本,大概编写更为复杂的通用脚本.SELECT 语句则由此而装备了新的FOR XML子句.

该子句的语法以下所示:

[ FOR { XML { RAW | AUTO | EXPLICIT }
[ , XMLDATA ]
[ , ELEMENTS ]
[ , BINARY BASE64 ] } ]

FOR XML子句的XML情势由三种参数值表示:RAW、AUTO大概EXPLICIT.情势决意了后果XML的情势和构成.下面我们就更深化些地通过以下示例理解以上各个XML选项.

RAW示例

我们履行以下的SQL语句:

SET ROWCOUNT 3SELECT Orders.OrderID, Orders.OrderDate, ProductIDFROM Orders, [Order Details]WHERE Orders.OrderID = [Order Details].OrderIDORDER BY Orders.OrderIDFOR XML RAW

履行后产生的后果以下:

<row Order OrderDate="1996-07-04T00:00:00" Product/>
<row Order OrderDate="1996-07-04T00:00:00" Product/>
<row Order OrderDate="1996-07-04T00:00:00" roduct/>

AUTO示例

我们履行以下的SQL语句:

‘后果限制为3条记录.SET ROWCOUNT 3SELECT Orders.OrderID, Orders.OrderDate, ProductIDFROM Orders, [Order Details]WHERE Orders.OrderID = [Order Details].OrderIDORDER BY Orders.OrderIDFOR XML AUTO

产生的后果以下所示:

<Orders Order OrderDate="1996-07-04T00:00:00">
<Order_x0020_Details Product/>
<Order_x0020_Details Product/>
<Order_x0020_Details Product/>
</Orders>

EXPLICIT示例

Explicit情势赐与查询编程人员对产生XML的完好掌握本领.但是这种掌握力度却要价不菲:你得编写每一查询以便SQL语句能包含XML信息.

有关的语法很复杂,并且超越了本文的谈论范围.[ , XMLDATA ] [ , ELEMENTS ] [ , BINARY BASE64 ] 是呼应的可选参数.

可选元素

示例可以让我们对各种设置的内部工作机理有更多的理解,下面我们就进一步研究下FOR XML语句的可选元素XMLDATA.

假如你设置该选项,那么XML-Data schema就会包含在后果调集里.以下是SQL语句:

SET ROWCOUNT 3SELECT Orders.OrderID, Orders.OrderDate, ProductIDFROM Orders, [Order Details]WHERE Orders.OrderID = [Order Details].OrderIDORDER BY Orders.OrderIDFOR XML AUTO, XMLDATA

以上的SQL语句产生以下后果:

>"urn:schemas-microsoft-com:datatypes">order="many">…

ELEMENTS

ELEMENTS选项指导各数据列作为子元素而非属性返回.假定你采取AUTO情势便可以只采取该选项.

BINARY BASE64

利用该选项表示你但愿采取base64编码格局表示二进制数据.

注:本文只是对FOR XML子句的简单阐明,这里要提醒你的是这一部份不过是XML同SQL Server集成需求注意的一点,其他方面的问题还包含IIS的OPENXML 函数和模版文件等.   以上是“SQL Server数据库和XML标识语言的集成[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • Windows 搭配 IIS7 PHP MySQL 环境
  • sqlserver索引的原理及索引成立的注意事项小结
  • SQL Join的一些总结(实例)
  • SQL的Join利用图解教程
  • SQL中JOIN和UNION辨别、用法及示例介绍
  • 关于SQL中CTE(公用表表达式)(Common Table Expression)的总结
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .