Presentation is loading. Please wait.

Presentation is loading. Please wait.

第14章 在SQL Server 2005中 使用XML 14.1 XML概述 14.2 XML数据类型 14.3 存取XML格式的数据

Similar presentations


Presentation on theme: "第14章 在SQL Server 2005中 使用XML 14.1 XML概述 14.2 XML数据类型 14.3 存取XML格式的数据"— Presentation transcript:

1 第14章 在SQL Server 2005中 使用XML 14.1 XML概述 14.2 XML数据类型 14.3 存取XML格式的数据
14.4 本地XML Web服务器

2 使用OPENROWSET加载大容量XML 数据方法OPENXML函数的使用方法。
能力目标   如何定义和使用XML数据类型;   使用XQuery对XML数据查询方法;   使用OPENROWSET加载大容量XML 数据方法OPENXML函数的使用方法。

3 态度目标   团队精神;   态度积极;   任务按时完成;   出勤。

4 使用OPENROWSET加载大容量XML 数据方法。 难点:
重点难点   重点:   使用XQuery对XML数据查询方法;   使用OPENROWSET加载大容量XML 数据方法。   难点:

5 14.1 XML概述 1. XML文档结构 DTD(Document Type Declaration ,文档类型
声明)或XML Schema(XML大纲);   XSL(eXtensible Stylesheet Language,可扩展 样式语言)或 CSS(Cascading Style Sheets ,级联 样式单);   XLink(eXtensibel Link Language ,可扩展链 接语言)。

6 14.1 XML概述   2. 为XML文档编写样式单   FOO{display:block;font-size:24pt;font-weight:bold;}   3. 将样式单附加到XML   在XML文档中,<?xml-stylesheet type="text/css“ href=“greeting.css”?> 处理指令用于指定所要使用的样 式单。

7 14.2 XML数据类型 1. XML数据类型变量 使用Declare语句来声明XML类型的变量,语法 形式为:
变量,语法形式为:   DECLARE @变量名 XML(XML架构集合名称)

8 14.2 XML数据类型 1. XML数据类型变量 SET @MyXmlVar = CAST(
‘<供应商><供应商编号>11011</供应商编号><供应商>青联外贸进出口公司</供应商> <联系人>刘阳小姐</联系人> <联系人职务>业务</联系人职务> <地址>青岛经济技术开发区香江路128号</地址> <城市>青岛市</城市> <行政区>经济技术开发区</行政区> <邮政编码>266555</邮政编码> <电话>(0532) </电话> <传真电话>(0532) </传真电话> </供应商>' AS xml); --显示变量所拥有的值

9 14.2 XML数据类型 2. XML数据类型列 在创建表时,可以像使用其他内置类型那样使用 XML数据类型作为列类型。
  在创建表时,可以像使用其他内置类型那样使用 XML数据类型作为列类型。 CREATE TABLE Providor(编号 INT PRIMARY KEY, 供应商信息 XML); GO -- 添加数据记录 INSERT INTO Providor VALUES (1, CAST( ‘<供应商><供应商编号>11011</供应商编号><供应商>青联外贸进出口公司</供应商> <联系人>刘阳小姐</联系人> <联系人职务>业务</联系人职务> <地址>青岛经济技术开发区香江路128号</地址> <城市>青岛市</城市> <行政区>经济技术开发区</行政区> <邮政编码>266555</邮政编码> <电话>(0532) </电话> <传真电话>(0532) </传真电话> </供应商>' AS xml) );

10 14.2 XML数据类型 3. 查询XML类型数据 【案例14.1】使用query ()方法对XML数据类型进行查询。
SELECT 供应商信息.query(‘/供应商/联系人’) FROM Providor;

11 14.3 存取XML格式的数据 1. 使用FOR XML构造XML 【案例14.2】使用RAW模 式,查询前3条订单信息。 FOR XML
{ {RAW[('ElementName')] | AUTO} [<CommonDirectives>[, ELEMENTS[XSINIL | ABSENT]]] | EXPLICIT[<CommonDirectives>] | PATH[('ElementName')] } <CommonDirectives>::= [, TYPE] [, ROOT[('RootName')]] USE eTradeInfo GO SELECT TOP 3 Order_ID, Order_date, Customer, Enddate FROM Customers INNER JOIN Sales ON Sales.Cust_ID=Customers.Cust_ID FOR XML RAW

12 14.3 存取XML格式的数据 2. 使用OPENXML将XML文档转化为表 OPENXML语法格式如下:
OPENXML(idoc int [in], rowpattern nvarchar[in], [flags byte[in]]) [WITH(SchemalDeclaration|TableName)]

13 14.3 存取XML格式的数据 2. 使用OPENXML将XML文档转化为表 Declare @iDoc int
varchar(1000) <Root> <Goods GId="21" GName="Netcard" Storage="100" Price="250"/> <Goods GId="22" GName="Monitor" Storage="200" Price="1500"/> <Goods GId="23" GName="Floppy" Storage="300" Price="80"/> </Root>' Exec Select * From '/Root/Goods',0) With(GId smallint, GName varchar(20), Storage int, Price money )

14 14.4 本地XML Web服务器 1. SQL Server 2005 Database Engine中提供本机 XML Web服务
  超文本传输协议(HTTP)   SOAP   Web服务定义语言(WSDL) 本机XML Web服务示意图 本机XML Web服务工作模式

15 14.4 本地XML Web服务器 2. 配置本机XML Web服务 Step1:创建和管理端点
  使用以下Transact-SQL语句创建和管理端点 :   CREATE ENDPOINT   用于创建端点、定义客户端应用程序可以用来 向端点发送, HTTP SOAP 请求的方法以及设置身 份验证和指定端口。   ALTER ENDPOINT   用于添加、删除或修改方法,或更改端点选项。   DROP ENDPOINT

16 14.4 本地XML Web服务器 2. 配置本机XML Web服务 Step 2:端点权限和身份验证
  对于SQL Server 2005中的本机XML Web服务, 可以使用以下两种类型的安全体之一来管理安全性:   (1)Windows用户或/和组账户   (2)SQL Server登录账户   Windows 账户用于 HTTP 端点身份验证时,不 需要另外使用 SOAP 身份验证标头。

17 14.4 本地XML Web服务器 3. 应用本地XML Web服务器 Step 1:创建SOAP USE eTradeInfo GO
CREATE FUNCTION CountCustomers() RETURNS int AS BEGIN RETURN (SELECT COUNT(Cust_Id) FROM Customers) END

18 14.4 本地XML Web服务器 3. 应用本地XML Web服务器 Step 2:创建端点以用于SOAP请求
CREATE ENDPOINT sql_endpoint STATE=STARTED AS HTTP( PATH='/sql', AUTHENTICATION=(INTEGRATED), PORTS=(CLEAR), SITE='SQLSVR2005' ) FOR SOAP(WEBMETHOD 'CountCustomers ' (name='eTradeInfo.dbo.CountCustomers '), WSDL=DEFAULT, SCHEMA=STANDARD, DATABASE='eTradeInfo', NAMESPACE=' );

19 14.4 本地XML Web服务器   3. 应用本地XML Web服务器 Step 3:创建客户端项目

20 Management Studio”管理窗口中,完成代码调试。
案例分析   使用案例数据库 eTradeInfo,在 “ SQL Server Management Studio”管理窗口中,完成代码调试。   1. 声明一个XML类型变量并将XML实例分配给它。   2. 分别使用AUTO和RAW模式,查询前 5 条客户订购 产品的信息。   3. XML 实 例分配给它,然后使用query()方法对XML实例进行查询。   4. 使用 OPENXML 语句将上述 XML 文档中的数据添 加到图书信息表中。   5. 使用 OPENXML 语句将上述 XML 文档的对象树转 化为表的形式显示出来。

21 要求: 问题: 讨论: 2. 掌握使用XQuery对XML数据查询方法 3. 掌握使用OPENROWSET加载大容量XML数据方法
案例分析 要求:   1. 掌握定义和使用XML数据类型   2. 掌握使用XQuery对XML数据查询方法   3. 掌握使用OPENROWSET加载大容量XML数据方法   4. 掌握OPENXML函数的使用方法 问题:   1. 在SQL Server中XML数据类型是一种结构化的数据 吗?为什么?   2. 如何存储XML数据对象? 讨论:   如何将SQL Server数据库中的XML文档通过Web发布?

22 通过SQL Server实现了对XML文档和数据的存 储与查询。XML数据可以与SQL Server应用程序进
本章小结   通过SQL Server实现了对XML文档和数据的存 储与查询。XML数据可以与SQL Server应用程序进 行互操作, SQL Server 还提供了管理 XML 数据的 功能,支持XML数据类型。   在服务器上, XML 数据可以从表生成,并通 过在 SELECT 语句中使用 FOR XML子句来查询结 果;在客户端,SQL Server 对客户端编程的支持称 为 SQLXML,这项技术的核心是 XML视图,它实 现XML架构和关系表之间的双向映射。   SQL Server 2005 提供了本机 XML Web服务, 实现 Web 应用程序对SQL Server的访问。


Download ppt "第14章 在SQL Server 2005中 使用XML 14.1 XML概述 14.2 XML数据类型 14.3 存取XML格式的数据"

Similar presentations


Ads by Google