日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

使用SQL Server 將現有代碼作為Web 服務提供

瀏覽:213日期:2023-10-28 18:31:39
摘要:本文介紹了如何使用 Microsoft SQL Server 2000 的 XML 功能將現有的存儲過程代碼作為 Web 服務提供。 目錄簡介 SQL Server 2000 中的現有代碼 總結簡介Microsoft&reg; SQL Server&#8482; 2000 的 XML 功能可以簡化將現有代碼作為 Web 服務提供的任務。本文集中討論了傳入和傳出 Transact SQL 代碼的數據與 XML 消息(在 Web 服務客戶機和服務器之間使用)之間的轉換。評估現有代碼是否適合于作為 Web 服務提供時,本文討論的數據轉換問題并不是唯一需要考慮的問題。應考慮的其它因素包括狀態模型、返回的數據大小、如何表示已經成功、如何返回錯誤信息、安全模型(包括訪問控制、身份驗證和加密)、執行模型(同步或異步)、如何分發代碼,以及事務模型(COM+ 事務或聲明事務),等等。這些問題將在即將發表的體系結構主題(英文)文章中進行討論。SQL Server 2000 中的現有代碼 SQL Server 2000 的 XML 功能簡化了將現有 Transact SQL 代碼作為 Web 服務提供的過程。這依賴于 SQL Server 2000 中的兩項 XML 功能:對 Transact SQL 的擴展可將關系型數據轉換為 XML,并且可以對傳入的 XML 進行語法分析。 利用 ISAPI 模板功能,可將傳入的 HTTP 請求應用于 Transact SQL 代碼,并且可以使用 XSL 樣式表對傳出的 XML 進行轉換。只要可以使用 FORXML 子句“選定”數據,SQL Server 就可以將 XML 返回到 XML 模板。 SQL Server 2000 XML 模板SQL Server 2000 XML 模板以透明方式執行以下任務:對傳入的 HTTP 請求進行解碼 將參數應用于 Transact SQL 查詢 執行查詢 使用 XSL 轉換傳出的 XML 讀數據以下示例執行 ISAPI 模板中指定的 Transact SQL。如果必要,可將 HTTP 請求傳遞到 Transact SQL 代碼,并由該代碼進行語法分析。根據模板中指定的 .xsl 文件,返回的 XML 將被轉換為 SOAP 并返回給 Web 服務的客戶:<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql" sql:xsl="BDAdotNetWebService3Example1.xsl"><Orders><sql:query>Exec GetOrdersXML</sql:query></Orders></ROOT>以下是模板中引用的 XSL 樣式表,它將存儲過程中的 XML 轉換為 SOAP:<?xml version="1.0"?><xsl:stylesheet 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"><xsl:template match="/"><SOAP-ENV:Envelope><SOAP-ENV:Body><m:BDAdotNetWebService3Example1Response ><xsl:copy-of select="http://Orders"/></m:BDAdotNetWebService3Example1Response></SOAP-ENV:Body></SOAP-ENV:Envelope></xsl:template></xsl:stylesheet>最后,以下存儲過程代碼在 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/* 訂單詳細信息是子 XML 元素 */select 2 as tag, 1 as parent,Orders.OrderId AS [Order!1!OrderId],NULL AS [Order!1!OrderStatus],NULL AS [Order!1!OrderDate],NULL AS [Order!1!SubTotal],NULL AS [Order!1!Tax],NULL AS [Order!1!ShippingHandling],NULL AS [Order!1!ShipToName],NULL AS [Order!1!ShipToAddressId],OrderDetails.OrderDetailId AS [OrderDetail!2!OrderDetailId],OrderDetails.OrderId AS [OrderDetail!2!OrderId],OrderDetails.ItemId AS [OrderDetail!2!ItemId],OrderDetails.UnitPrice AS [OrderDetail!2!UnitPrice],OrderDetails.Quantity AS [OrderDetail!2!Quantity]from Orders, OrderDetailswhere Orders.OrderId = OrderDetails.OrderIdORDER BY [Order!1!OrderId],[OrderDetail!2!OrderDetailId]For XML EXPLICIT寫數據以下示例中,通過 HTTP 請求提供表示層次行數據的 XML,然后將其傳遞到 ISAPI 模板中指定的 Transact SQL 代碼。在存儲過程中對 XML 進行語法分析,并進行相應的寫入操作:Create Procedure InsertOrder @Order NVARCHAR(4000) = NULL,@OrderId int Output-DECLARE @hDoc INTDECLARE @PKId INT BEGIN TRANSACTION/* 將 XML 載入文檔以進行分析 */ EXEC sp_xml_preparedocument @hDoc OUTPUT, @Order/* 插入訂單標頭 */ INSERT Orders(CustomerId,OrderDate,ShipToName,ShipToAddressId,OrderStatus)SELECT * FROM OPENXML(@hDoc, '/NewDataSet/Orders')WITH ( CustomerId int 'CustomerId',OrderDate Datetime 'OrderDate',ShipToName nvarchar(40) 'ShipToName',ShipToAddressId int 'ShipToAddressId',OrderStatus int 'OrderStatus') SELECT @PKId = @@IDENTITY/* 插入訂單詳細信息 */ INSERT OrderDetails (OrderId,ItemId,UnitPrice,Quantity) SELECT @PKId as OrderId, ItemId, UnitPrice, QuantityFROM OPENXML(@hDoc, '/NewDataSet/Details') WITH ( ItemId int 'ItemId',UnitPrice money 'UnitPrice',Quantity int 'Quantity')/* 指定輸出參數的值 */Select @OrderId = @PKId COMMIT TRANSACTION/* 清除 XML 文檔 */ EXEC sp_xml_removedocument @hDoc 總結本文以及附帶的示例介紹了有關數據轉換的信息。通過數據轉換,可以使用 SQL Server 2000 的 XML 功能將現有 Transact SQL 代碼作為 Web 服務提供。本文集中討論了傳入和傳出 Transact SQL 代碼的數據與 SOAP 消息(在 Web 服務客戶機和服務器之間使用)之間的轉換。這些解決方案的性能各異,并且受所傳遞的數據大小影響。在本系列后面的文章中,我們將對這些實現方法進行比較。評估現有代碼是否適合作為 Web 服務時,接口只不過是應當考慮的諸多因素之一。應考慮的其它因素包括安全性(包括授權、身份驗證和加密)、事務模型、狀態模型、返回錯誤和結果的方式,以及代碼是同步還是異步執行,等等。
標簽: Sql Server 數據庫
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本v片在线高清不卡在线观看| 国产精品va视频| 日本少妇一区| 欧洲一区二区三区精品| 亚洲福利国产| 免费精品视频在线| 欧美午夜三级| 日韩电影免费在线观看| 亚洲精品一二三区区别| 日本不卡高清| 欧美国产小视频| 欧美日韩免费观看一区=区三区| 99热精品在线| 911精品国产| 日韩在线欧美| 色8久久久久| 伊人网在线播放| 蜜臀久久99精品久久久画质超高清| 国产乱人伦精品一区| 国产麻豆久久| 日韩高清成人在线| 水蜜桃精品av一区二区| 亚洲欧美日韩国产一区| 国产精品久久| 99亚洲视频| 久久精品免视看国产成人| 欧美日韩国产高清| 国产精品午夜一区二区三区| 久久中文字幕二区| 国产欧美成人| 国产精品毛片在线看| 精品黄色一级片| 亚洲精品高潮| 成人精品天堂一区二区三区| 日韩精品一级| 亚洲午夜av| 国产精品xvideos88| 不卡av一区二区| 国产精品激情电影| 日韩视频二区| 欧美国产美女| 久久国产欧美日韩精品| 99久久婷婷| 你懂的亚洲视频| 丝袜a∨在线一区二区三区不卡| 红杏一区二区三区| 在线观看视频免费一区二区三区| 日韩不卡一区| 欧美亚洲综合视频| 一区在线免费| 97se综合| 久久亚洲黄色| 国产亚洲久久| 中文字幕一区二区三区日韩精品 | 免费久久精品视频| 黄色在线网站噜噜噜| 青草国产精品久久久久久| 91精品福利| 国产一二在线播放| 久久精品72免费观看| 蜜臀久久久99精品久久久久久| 99精品一区| 国产传媒av在线| 欧美精品aa| 97久久亚洲| 亚洲精品观看| 蜜桃久久久久久| 国产毛片久久| 播放一区二区| 国产精品99一区二区三| 国产剧情一区二区在线观看| 在线观看亚洲精品福利片| 尹人成人综合网| 久久精品在线| 中文字幕在线高清| 成人影视亚洲图片在线| 麻豆免费精品视频| 国产欧美欧美| 国产精品毛片久久久| 日韩美女国产精品| 亚洲精品字幕| 亚洲综合专区| 免费美女久久99| 午夜在线一区| 国产麻豆综合| 蜜臀久久99精品久久久久久9| 亚洲欧美日韩国产一区| 91久久午夜| 石原莉奈一区二区三区在线观看| 黄色国产精品| 免费av一区| 超碰在线99| 欧美黄页在线免费观看| 国产欧美日韩| 国产精品久久久久9999高清| 国产精品一区二区免费福利视频| 欧美一区成人| 国产精品porn| 国产精品亚洲欧美一级在线| 国产乱人伦精品一区| 久久精品av麻豆的观看方式| 欧美一区二区三区久久精品| 91精品一区| 国产精品巨作av| 久久99偷拍| 欧美好骚综合网| 999国产精品永久免费视频app| 免费一二一二在线视频| 日韩免费高清| 欧美+亚洲+精品+三区| 欧美日韩国产在线一区| 日韩中文字幕91| 亚洲男人在线| 欧美精品三级在线| 国产精品成人自拍| 91亚洲成人| 欧美亚洲在线日韩| 亚洲欧美日本国产专区一区| 综合亚洲视频| 国产精品视频一区二区三区综合| 六月丁香综合在线视频| 国精品产品一区| 亚洲成av在线| 久久国产成人| 欧洲av不卡| 热久久国产精品| 亚洲精品欧美| 久久av综合| 高清不卡亚洲| 一区福利视频| 激情黄产视频在线免费观看| 免费欧美一区| 91成人精品视频| 在线亚洲国产精品网站| 美女网站久久| 日本一区二区三区中文字幕| 亚洲伊人av| 精品国产麻豆| 蜜桃成人av| 日本免费一区二区视频| 久久免费影院| 欧美精品一区二区久久| 五月激激激综合网色播| 日本少妇一区| 日韩av有码| 激情久久久久久久| 麻豆精品91| 久久精品99国产国产精| 国产999精品在线观看| 久久黄色影院| 国产乱子精品一区二区在线观看 | 中文在线不卡| 亚洲综合中文| 精品久久福利| 99视频一区| 欧美激情亚洲| 日本综合视频| 日韩精品一级| 超级白嫩亚洲国产第一| 91九色精品| 91亚洲无吗| 国内精品麻豆美女在线播放视频| 青青草国产精品亚洲专区无| 日韩av一区二区在线影视| 91看片一区| 日韩和欧美一区二区| 毛片在线网站| 午夜久久av| 亚洲午夜视频| 久久中文字幕一区二区三区| 国产精品毛片| 国产美女高潮在线观看| 日韩va欧美va亚洲va久久| 久久久久久久久丰满| 国产精品嫩草影院在线看| 精品91福利视频| 国产亚洲欧洲| 欧美日一区二区三区在线观看国产免| 欧美成人aaa| 91久久国产| 久久国产人妖系列| 麻豆国产精品777777在线| 91精品久久久久久久久久不卡| 国产伦理久久久久久妇女| 99香蕉国产精品偷在线观看| 国产aa精品| 久久国产生活片100| 人人爽香蕉精品| 欧美+日本+国产+在线a∨观看| 久久精品女人| 欧美视频精品全部免费观看| 久久99蜜桃| 国产69精品久久| 亚洲免费一区三区| 日韩毛片视频| 久久国产日韩欧美精品| 久久精品观看| 亚洲综合欧美| 久久gogo国模啪啪裸体| 日韩精品一区二区三区中文在线|