• 首  页
  • 最新公告
  • 域名帮助
  • 空间帮助
  • 主机帮助
  • 邮局帮助
  • 数据库帮助
  • 网站建设帮助
  • 财务帮助
  • CDN加速
  • 最新公告
  • 域名帮助
  • 空间帮助
    • VPS主机
    • 虚拟主机
  • 主机帮助
    • win服务器应用及安全
    • linux服务器应用及安全
  • 邮局帮助
  • 数据库帮助
    • MSSQL数据库
    • ORACLE数据库
    • ACCESS数据库
    • MYSQL数据库
    • 数据库基础与原理
  • 网站建设帮助
    • Html语言教程
    • ASP语言程序
    • PHP语言程序
    • DIV+CSS语言程序
    • SEO优化教程
    • JAVA语言程序
  • 财务帮助
  • CDN加速
千喜网络 ---数据库帮助 ---MSSQL数据库
使用SQL Server 2000将现有代码作为Web服务提供
发布时间:2012-12-2 14:28:09   阅读次数:

    一、简介

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

网站关键词:千喜网络 云主机租用 服务器托管 CDN加速 虚拟主机 网站空间 域名注册 企业邮局 数据库
上一章:T-SQL命令在SQL Server查询中的运用   下一章:深入了解存储过程的编写经验和优化措施   
中华人民共和国增值电信业务经营许可证:陕B2-20100043
地址:西安市莲湖路37号省外贸大楼623室 全国统一服务热线:400-600-7112
CopyRight@2009-2012 Qianxinet.com 版权所有 西安千喜网络科技有限公司