资源描述:
《使用sql server 2000将现有代码作为web服务提供--》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、使用SQLServer2000将现有代码作为Web服务提供>> 一、简介 MicrosoftSQLServer2000的XML功能可以简化将现有代码作为L消息(在L功能简化了将现有TransactSQL代码作为L功能: 1.对TransactSQL的扩展可将关系型数据转换为XML,并且可以对传入的XML进行语法分析。利用ISAPI模板功能,可将传入的HTTP请求应用于TransactSQL代码,并且可以使用XSL样式表对传出的XML进行转换。只要可以使用FOR XML子句选定数据,SQLServer就可以将XML返回到XML模板。 2.SQLS
2、erver2000XML模板 SQLServer2000XML模板以透明方式执行以下任务: 对传入的HTTP请求进行解码将参数应用于TransactSQL查询执行查询使用XSL转换传出的XML读数据以下示例执行ISAPI模板中指定的TransactSQL。如果必要,可将HTTP请求传递到TransactSQL代码,并由该代码进行语法分析。根据模板中指定的.xsl文件,返回的XML将被转换为SOAP并返回给L以下是模板中引用的XSL样式表,它将存储过程中的XML转换为SOAP:version=1.0xmlns:xsl=.xmlns:SOAP-ENV=
3、schemas.xmlsoap.org/soap/envelope/xmlns:m=Some-URI> 最后,以下存储过程代码在TransactSQLSELECT语句中使用FORXMLEXPLICIT子句来返回XML。订单和订单详细信息从单独的表中选择,然后合并到XML层次中: /*订单是父XML元素*/ Select1asTag,NULLasParent,Orders.OrderIdAS[Order!1!OrderId],Orders.OrderStatusAS[Order!1!OrderStatus],Orders.OrderDateA
4、S[Order!1!OrderDate],Orders.SubTotalAS[Order!1!SubTotal],Orders.TaxAS[Order!1!Tax],Orders.ShippingHandlingAS[Order!1!ShippingHandling],Orders.ShipToNameAS[Order!1!ShipToName],Orders.ShipToAddressIdAS[Order!1!ShipToAddressId],NULLAS[OrderDetail!2!OrderDetailId],NULLAS[OrderDetail
5、!2!OrderId],NULLAS[OrderDetail!2!ItemId],NULLAS[OrderDetail!2!UnitPrice],NULLAS[OrderDetail!2!Quantity]fromOrdersUNIONALL /*订单详细信息是子XML元素*/ select2astag,1asparent,Orders.OrderIdAS[Order!1!OrderId],NULLAS[Order!1!OrderStatus],NULLAS[Order!1!OrderDate],NULLAS[Order!1!SubTotal],N
6、ULLAS[Order!1!Tax],NULLAS[Order!1!ShippingHandling],NULLAS[Order!1!ShipToName],NULLAS[Order!1!ShipToAddressId],OrderDetails.OrderDetailIdAS[OrderDetail!2!OrderDetailId],OrderDetails.OrderIdAS[OrderDetail!2!OrderId],OrderDetails.ItemIdAS[OrderDetail!2!ItemId],OrderDetails.UnitPri
7、ceAS[OrderDetail!2!UnitPrice],OrderDetails.QuantityAS[OrderDetail!2!Quantity]fromOrders,OrderDetailsLEXPLICIT 写数据。 以下示例中,通过HTTP请求提供表示层次行数据的XML,然后将其传递到ISAPI模板中指定的TransactSQL代码。在存储过程中对XML进行语法分析,并进行相应的写入操作: CreateProcedureInsertOrderOrderNVARCHAR(4000)=NULL,OrderIdintOutputDECLAR
8、EhDocINTDECLAREP12下一页>>>>这篇文章来自..,。KIdINTBEGINT