论坛登陆 注册 教程 笑话 影视 投稿
首页 | 页界资讯 | 网络应用 | 软件应用 | 组网技术 | 网络原理 | 聊天通讯 | 网管知识 | 帮助
笑话 | 操作系统 | 注 册 表 | 编程开发 | 数 据 库 | 媒体动画 | 网页设计 | 图形图象 | 地图
论坛 | 网络安全 | 安全防范 | 服 务 器 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
影院 | 教育频道 | 特色专题 | 精文荟萃 | 注 册 码 | 论坛社区 | 网站地图 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>数据库>>Mssql>>正文

从SQL Server 2005中处理 XML

www.xker.com 作者: 来源:Microsoft 加入日期:2006-3-5 14:12:05

【问题提问、论坛交流】摘要: 查看 Microsoft ADO.NET 2.0 中对 XML 支持的改进如何与 Microsoft SQL Server 2005 共同工作以使处理应用程序中的 XML 数据更为容易

简介

Microsoft SQL Server 2005 中的重大更改之一是包含了 XML 数据类型此数据类型是第一类类型,就像 INTVARCHAR 一样,而且 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 也有更改,以便支持类型 XMLDataColumn,而且 System.DataSystem.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 语句通过许多方式得到了增强这里仅提少数几种:

1.

在大多数情况下,当您需要 SQL Server 2000 中的 FOR XML EXPLICIT 模式时,有一种新的、便于使用的 FOR XML PATH 模式

2.

使用 TYPE 指令,除了生成流之外,您还可以生成 XML 数据类型列

3.

可以嵌套 FOR XML 表达式

4.

SELECT ... FOR XML 可以使用 ROOT 指令生成 XML 文档以及 XML 片段

5.

您可以将标准的 XSD 架构预先挂起到流

通过引用 ADO.NET 2.0 中的关系 datatype 枚举,您可以初步了解到 XML 是一种一流的关系数据库类型System.Data.DbTypeSystem.Data.SqlDbType 分别包含 DbType.XmlSqlDbType.Xml 的附加值System.Data.SqlTypes 命名空间中也有一个新的类,它是 SqlXml这个类充当 XML 类型值的 XmlReader 实例工厂我将通过一些简单的代码进行展示假设我有一份 SQL Server 表,如下所示:

CREATE TABLE xmltab (
  id INT IDENTITY PRIMARY KEY,
  xmlcol XML)

我可以使用以下 ADO.NET 2.0 代码在客户端上访问此表

using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Xml;

void GetXMLColumn {
// "Generic Coding..." article for shows how to
// get a connection string from a config file
string s = GetConnectStringFromConfigFile("xmldb");
using (SqlConnection conn = new SqlConnection(s))
using (SqlCommand cmd = new SqlCommand(
       "select * from xmltab", conn))
 {
  conn.Open();
  SqlDataReader rdr = cmd.ExecuteReader();
  DataTable t = rdr.GetSchemaTable();

  while (rdr.Read())
    {
      SqlXml sx = rdr.GetSqlXml(1);
      XmlReader xr = sx.CreateReader();
      xr.Read(); 
      Console.WriteLine(xr.ReadOuterXml());
    }
 }
}

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

编辑:xker.com
上一篇:SQL Server 2005 数据转换服务的常见设计问题
下一篇:SQL Server 2005关于数据类型最大值
关闭窗口】【技术交流】【收藏此页
相关文章
·SQL Server 2005 中的Multiple Activ·使用SQL Server 2005中的CLR 集成(2)·使用SQL Server 2005中的CLR 集成(1)
·保护SQL Server 2005 Express Editio·在 SQL Server 2005 中查询表结构及索·在SQLSERVER2005中实现素数计算
·SQL Server 2005中的SQLCMD工具使用·SQL Server 2005生成直方图简介·SQL Server 2005数据转换服务中的模糊
·SQL Server2005:构造最简单的模糊查找·SQL Server2005 Analysis服务实践之起·SQL Server 2005关于数据类型最大值
·SQL Server 2005 数据转换服务的常见·通过SQL Server 2005索引视图提高性能·安装SQL Server 2005中的AdventureWo
推荐文章 最新文章 热门文章
·拒绝提示窗口 让操作自动赶走网络烦恼
·视频格式转换工具使用集锦
·通过SQL Server 2005索引视图提高性能
·SQL Server 2005新特性
·SOHO族安全建议-保证上传服务器安全
·服务器安全配置精华技巧
·缔造神话 十大怪招助你200%提升迅雷速
·有备无患 WinXP下软件数据大迁移
·流量牵引技术在防DOS攻击中的应用
·解决w3wp.exe内存占用问题
·IIS网站防盗链下载的解决方案
·怎样处理Java最终化的内存保留问题
·轮番上阵:Linux下查找漏洞的N种兵器
·毕业论文范文
·毕业论文格式
·SQL Server 2005 中的Multiple Activ
·使用SQL Server 2005中的CLR 集成(2)
·使用SQL Server 2005中的CLR 集成(1)
·保护SQL Server 2005 Express Editio
·在 SQL Server 2005 中查询表结构及索
·拒绝提示窗口 让操作自动赶走网络烦恼
·QQ表情终级大法让你比别人更炫
·新东方系列序列号(大全)
·豪杰超级解霸V9.2正版注册码
·QuickTime v7.0.4简体中文版注册码
·Protel 2006 简体中文版6.0安装序列号
·Visual Studio 2005安装序列号
·附加码在网络安全中的作用
·原来文件的时间属性也能修改
·VC和Delphi程序只运行一个实例的方法
·个人简历表格
·免费代理IP(每日更新)
·QQ密码丢失后能做的事情:快速找回密码
·Norton AntiVirus 2006 注册码(激活
·豪杰超级解霸V9.1正版注册码
·WinRAR 3.51 注册码
·系统优化 专题
·找回QQ密码的注意事项 
·史上最强QQ个人档案资料欣赏
·Ajax技术开发指南
·求职简历封皮
·最经典的黑客入门教材
·ACDSee v8.0注册码
·应届毕业生求职信
·怎样查找对方的IP地址
评论

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2006 xker.com All rights reserved.小新技术网 合作广告QQ:12231446
本页浏览次数: