从 SQL Server 2005 中处理 XML
2007-05-13 09:26:22 来源:WEB开发网一、简介
Microsoft SQL Server 2005 中的重大更改之一是包含了 XML 数据类型。此数据类型是第一类类型,就像 INT 或 VARCHAR 一样,而且 SQL Server 2005 允许使用一系列 XML 特定的函数对此数据类型进行就地查询和处理。它还支持存储数据库中的 XML 架构的集合,从而启用基于数据库的架构验证。另外,SQL Server 2005 大大地扩展了 XML 组合(SELECT ... FOR XML 语句)的功能,扩展了 OpenXML() XML 分解函数,并针对 XML 数据类型提供了一个新的 nodes() 函数以进行更轻量级的分解。
既然对数据库服务器增强了此新的 XML 功能,那么对 Microsoft ADO.NET 2.0 中的 SqlClient 数据提供程序也进行增强就不会令人感到惊奇了。对 ADO.NET DataSet 也有更改,以便支持类型 XML 的 DataColumn,而且 System.Data 和 System.Xml 之间的“集成点”得到了拓宽。在本文中,我将探究在客户端上使用 SQL Server 2005 XML 数据类型。
SQL Server 2005 可以产生两类 XML 输出。语句 SELECT * FROM AUTHORS FOR XML AUTO 产生 XML 流,而不是一列一行的行集。该输出类型与 SQL Server 2000 中的输出类型相比没有改变。只是因为查询分析器工具中的限制,XML 流输出在 SQL Server 查询分析器中才显示为一列一行的行集。您可以通过其特定的唯一标识符名称“XML_F52E2B61-18A1-11d1-B105-000805F49916B”来将这种流与“普通”列区分开来。此名称实际上是底层 TDS(这是一种表格式的数据流,SQL Server 网络格式)分析器的指示器,在这种分析器中,列应该流至客户端,而不是像普通行集那样发送。有一种特殊的方法 SqlCommand.ExecuteXmlReader 用来在客户端上检索此特殊的流。在 SQL Server 2005 中,SELECT ... FOR XML 语句通过许多方式得到了增强。这里仅提少数几种:
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
更多精彩
赞助商链接