资源描述:
《使用sql server 将现有代码作为web 服务提供sql server]教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、精选公文范文管理资料使用SQLServer将现有代码作为Web服务提供SQLserver]教程摘要:本文介绍了如何使用MicrosoftSQLServer2000的XML功能将现有的存储过程代码作为Web服务提供。 目录 简介 SQLServer2000中的现有代码 总结 简介 Microsoftreg;SQLServer8482;2000的XML功能可以简化将现有代码作为Web服务提供的任务。本文集中讨论了传入和传出TransactSQL代码的数据与XML消息(在Web服务客户机和服务器之间使用)之间
2、的转换。 评估现有代码是否适合于作为Web[键入文字][键入文字][键入文字]精选公文范文管理资料服务提供时,本文讨论的数据转换问题并不是唯一需要考虑的问题。应考虑的其它因素包括状态模型、返回的数据大小、如何表示已经成功、如何返回错误信息、安全模型(包括访问控制、身份验证和加密)、执行模型(同步或异步)、如何分发代码,以及事务模型(COM+事务或声明事务),等等。这些问题将在即将发表的体系结构主题(英文)文章中进行讨论。 SQLServer2000中的现有代码 SQLServer2000的XML功能简化了将现
3、有TransactSQL代码作为Web服务提供的过程。这依赖于SQLServer2000中的两项XML功能: 对TransactSQL的扩展可将关系型数据转换为XML,并且可以对传入的XML进行语法分析。 利用ISAPI模板功能,可将传入的HTTP请求应用于TransactSQL代码,并且可以使用XSL样式表对传出的XML进行转换。只要可以使用FORXML子句“选定”数据,SQLServer就可以将XML返回到XML模板。 SQLServer2000XML[键入文字][键入文字][键入文字]精选公文范文管理资
4、料模板 SQLServer2000XML模板以透明方式执行以下任务: 对传入的HTTP请求进行解码 将参数应用于TransactSQL查询 执行查询 使用XSL转换传出的XML 读数据 以下示例执行ISAPI模板中指定的TransactSQL。如果必要,可将HTTP请求传递到TransactSQL代码,并由该代码进行语法分析。根据模板中指定的.xsl文件,返回的XML将被转换为SOAP并返回给Web服务的客户: ExecGetOrdersXML 以下是模板中引用的XSL样式
5、表,它将存储过程中的XML转换为[键入文字][键入文字][键入文字]精选公文范文管理资料SOAP: 最后,以下存储过程代码在TransactSQLSELECT语句中使用FORXMLEXPLICIT子句来返回XML。“订单”和“订单详细信息”从单独的表中选择,然后合并到XML层次中: /*订单是父XML元素*/ Select1asTag,NULLasParent, Orders.OrderIdAS[Order!1!OrderId], Orders.OrderS
6、tatusAS[键入文字][键入文字][键入文字]精选公文范文管理资料[Order!1!OrderStatus], Orders.OrderDateAS[Order!1!OrderDate], Orders.SubTotalAS[Order!1!SubTotal], Orders.TaxAS[Order!1!Tax], Orders.ShippingHandlingAS[Order!1!ShippingHandling], Orders.ShipToNameAS[Order!1!ShipToName],
7、 Orders.ShipToAddressIdAS[Order!1!ShipToAddressId], NULLAS[OrderDetail!2!OrderDetailId], NULLAS[OrderDetail!2!OrderId], NULLAS[OrderDetail!2!ItemId], NULLAS[OrderDetail!2!UnitPrice], NULLAS[OrderDetail!2!Quantity] fromOrders UNIONALL /*订单详细信息是子XML元素*/
8、 select2astag,1asparent, Orders.OrderIdAS[键入文字][键入文字][键入文字]精选公文范文管理资料[Order!1!OrderId], NULLAS[Order!1!OrderStatus], NULLAS[Order!1!OrderDate], NULLAS[Order!1!SubTotal], NULLA