使用SQL Server 2000将现有代码作为Web服务提供

    一、简介

Microsoft SQL Server 2000的 XML功能可以简化将现有代码作为 Web服务提供的任务。本文集中讨论了传入和传出 Transact SQL代码的数据与 XML消息(在 Web服务客户机和服务器之间使用)之间的转换。

二、SQL Server 2000中的现有代码

SQL Server 2000的 XML功能简化了将现有 Transact SQL代码作为 Web服务提供的过程。这依赖于 SQL Server 2000中的两项 XML功能:

1.对 Transact SQL的扩展可将关系型数据转换为 XML,并且可以对传入的 XML进行语法分析。利用 ISAPI模板功能,可将传入的 HTTP请求应用于 Transact SQL代码,并且可以使用 XSL样式表对传出的 XML进行转换。只要可以使用 FOR XML子句“选定”数据,SQL Server就可以将 XML返回到 XML模板。

2.SQL Server 2000 XML模板

SQL Server 2000 XML模板以透明方式执行以下任务:

对传入的 HTTP请求进行解码将参数应用于 Transact SQL查询执行查询使用 XSL转换传出的 XML读数据以下示例执行 ISAPI模板中指定的 Transact SQL。如果必要,可将 HTTP请求传递到 Transact SQL代码,并由该代码进行语法分析。根据模板中指定的 .xsl文件,返回的 XML将被转换为 SOAP并返回给 Web服务的客户:

Exec GetOrdersXML
以下是模板中引用的 XSL样式表,它将存储过程中的 XML转换为 SOAP:
version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:m="Some-URI">

最后,以下存储过程代码在 Transact SQL SELECT语句中使用 FOR XML EXPLICIT子句来返回 XML。“订单”和“订单详细信息”从单独的表中选择,然后合并到 XML层次中:

/*订单是父 XML元素 */

Select 1 as Tag, NULL as Parent,
Orders.OrderId AS [Order!1!OrderId],
Orders.OrderStatus AS [Order!1!OrderStatus],
Orders.OrderDate AS [Order!1!OrderDate],
Orders.SubTotal AS [Order!1!SubTotal],
Orders.Tax AS [Order!1!Tax],
Orders.ShippingHandling AS [Order!1!ShippingHandling],
Orders.ShipToName AS [Order!1!ShipToName],
Orders.ShipToAddressId AS [Order!1!ShipToAddressId],
NULL AS [OrderDetail!2!OrderDetailId],
NULL AS [OrderDetail!2!OrderId],
NULL AS [OrderDetail!2!ItemId],
NULL AS [OrderDetail!2!UnitPrice],
NULL AS [OrderDetail!2!Quantity]
from Orders
UNION ALL

时间: 2024-12-03 00:22:10

使用SQL Server 2000将现有代码作为Web服务提供的相关文章

使用SQL Server 将现有代码作为Web 服务提供

server|web 摘要:本文介绍了如何使用 Microsoft SQL Server 2000 的 XML 功能将现有的存储过程代码作为 Web 服务提供. 目录简介 SQL Server 2000 中的现有代码 总结 简介Microsoft SQL Server 2000 的 XML 功能可以简化将现有代码作为 Web 服务提供的任务.本文集中讨论了传入和传出 Transact SQL 代码的数据与 XML 消息(在 Web 服务客户机和服务器之间使用)之间的转换. 评估现有代码是否适合于

使用 .NET 框架将现有代码作为 Web 服务提供

web 使用 .NET 框架将现有代码作为 Web 服务提供 使用 .NET 建立分布式应用程序 Steve Kirk 和 Priya DhawanMicrosoft Developer Network 摘要:本文介绍了使用 ASP.NET 将现有 Microsoft Visual Basic 6.0 代码作为 Web 服务提供时所进行的数据转换.适用于 Microsoft .NET SDK 和 Microsoft Visual Studio.NET 的 Beta 1 版. 目录简介 现有代码提

使用 SOAP Toolkit 2.0 将现有代码作为 Web 服务提供

web 使用 SOAP Toolkit 2.0 将现有代码作为 Web 服务提供 使用 .NET 建立分布式应用程序 Steve Kirk 和 Priya DhawanMicrosoft Developer Network 摘要:本文介绍了使用 Microsoft SOAP Toolkit 版本 2.0 将现有 Microsoft Visual Basic 6.0 代码作为 Web 服务提供时所进行的数据转换. 目录简介 现有代码提供的数据类型 ADO 2x Command 对象 ADO 2x

将MySQL迁移到Microsoft SQL Server 2000 (一)

mysql|server 将MySQL迁移到Microsoft SQL Server 2000 摘要 本白皮书描述了 Microsoft SQL Server 2000 的迁移能力,并提供了帮助开发人员将 MySQL 数据库迁移到 SQL Server 2000 的特定信息. 引言 本指南解释如何利用几个内置的 SQL Server 工具和实用程序将 MySQL 迁移到 Microsoft? SQL Server? 2000.它还提供了如何修改 MySQL 应用程序,使之与 SQL Server

深入探讨SQL Server 2000对XML的支持

server|xml  [作者简介:]Wayne,新一代程序员,十二岁时开始学习编程,十三岁时拥有自己的电脑,先后学过Basic.Pascal.C.FOXPRO.VB.DELPHI.C++.SQL,学习Java语言后,遂成为Java的疯狂崇拜者,现就读于中国科技大学. 引言 内容导航  * 引言 * 配置SQL Server 2000的IIS虚拟目录 * 使用 HTTP 执行 SQL 语句 * 使用XML模板进行查询 * XPath查询 架构和模板   我们可以很简单的使用ADO访问数据库中的数

学习:在SQL Server 2000 数据仓库中使用分区

server|sql|数据 分区视图联接来自一组成员的水平分区数据,使数据看起来象来自同一张表.SQL Server 2000 区分本地分区视图和分布式分区视图.在本地分区视图中,所有相关表和视图驻留在 SQL Server 的同一实例上.在分布式分区视图中,相关表中至少有一张表驻留在其他某个(远程)服务器上.建议您不要将分布式分区视图用于数据仓库应用程序. 矢量数据仓库围绕事实(标量)和矢量构建,从物理上通常表示为星形架构和雪花形架构,极少有同时包含事实和矢量的完全非正交化的平面表.由于矢量架

用 SQL Server 2000 索引视图提高性能

server|视图|索引|性能 什么是索引视图? 许多年来,Microsoft SQL Server 一直都提供创建虚拟表(称为视图)的功能.在过去,这些视图主要有两种用途: 提供安全机制,将用户限制在一个或多个基表中的数据的某个子集. 提供一种机制,允许开发人员定制用户如何才能以逻辑方式查看存储在基表中的数据. SQL Server 2000 已经扩展了 SQL Server 视图的功能,以提高系统性能.它可以在一个视图上创建唯一的群集索引和非群集索引,可以改进最复杂查询的数据访问性能.在 S

SQL Server 2000中的数据转换服务 (DTS)

server|数据|转换 摘要: 为了完成数据合并.存档和分析等任务:为了进行应用程序开发:为了进行数据库或服务器升级,数据库管理员经常需要导入.导出以及转换数据.SQL Server 2000 中的数据转换服务(DTS)为此提供了一组图形化工具和可编程对象,能够帮助管理员和开发人员解决从不同来源到单个或多个目标的数据转移问题,包括数据提取.转换以及合并.您可以将任务.工作流操作和限制条件组成 DTS数据包,然后安排定期或在特定事件发生时执行该数据包.本白皮书将介绍 DTS,给出一些能够用于创建

深入探讨SQL Server 2000对XML的支持(一)

我们可以很简单的使用ADO访问数据库中的数据,但是,如果我们想把从数据库中检索得到的数据以XML的格式显示出来的话,就要费点神了,当然,我们可以去找一些现成的应用程序或者是把现有的存储过程修改一下,来完成这个想法. 虽说ADO2.5宣称支持XML,但是它仍需要一个额外的层来处理把数据转化成XML的过程.幸好有了SQL Server 2000,它宣称可以直接从数据库中取出数据,而不通过ADO2.5直接把数据以XML方式显示出来.这个功能极大的提高了构造分布式.数据集中的应用程序的性能,因为这个特性