国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > SQL Server > 正文

怎樣使用SQL2000將現(xiàn)有代碼作為Web服務(wù)提供

2024-08-31 00:46:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

SQL Server 2000 的 XML 功能可以簡(jiǎn)化將現(xiàn)有代碼作為 Web 服務(wù)提供的任務(wù)。本文集中討論了傳入和傳出 Transact SQL 代碼的數(shù)據(jù)與 XML 消息(在 Web 服務(wù)客戶機(jī)和服務(wù)器之間使用)之間的轉(zhuǎn)換。

評(píng)估現(xiàn)有代碼是否適合于作為 Web 服務(wù)提供時(shí),本文討論的數(shù)據(jù)轉(zhuǎn)換問(wèn)題并不是唯一需要考慮的問(wèn)題。應(yīng)考慮的其它因素包括狀態(tài)模型、返回的數(shù)據(jù)大小、如何表示已經(jīng)成功、如何返回錯(cuò)誤信息、安全模型(包括訪問(wèn)控制、身份驗(yàn)證和加密)、執(zhí)行模型(同步或異步)、如何分發(fā)代碼,以及事務(wù)模型(COM 事務(wù)或聲明事務(wù)),等等。這些問(wèn)題將在即將發(fā)表的體系結(jié)構(gòu)主題(英文)文章中進(jìn)行討論。

SQL Server 2000 中的現(xiàn)有代碼

SQL Server 2000 的 XML 功能簡(jiǎn)化了將現(xiàn)有 Transact SQL 代碼作為 Web 服務(wù)提供的過(guò)程。這依賴于 SQL Server 2000 中的兩項(xiàng) XML 功能:

對(duì) Transact SQL 的擴(kuò)展可將關(guān)系型數(shù)據(jù)轉(zhuǎn)換為 XML,并且可以對(duì)傳入的 XML 進(jìn)行語(yǔ)法分析。

利用 ISAPI 模板功能,可將傳入的 HTTP 請(qǐng)求應(yīng)用于 Transact SQL 代碼,并且可以使用 XSL 樣式表對(duì)傳出的 XML 進(jìn)行轉(zhuǎn)換。只要可以使用 FORXML 子句“選定”數(shù)據(jù),SQL Server 就可以將 XML 返回到 XML 模板。

SQL Server 2000 XML 模板

SQL Server 2000 XML 模板以透明方式執(zhí)行以下任務(wù):

對(duì)傳入的 HTTP 請(qǐng)求進(jìn)行解碼

將參數(shù)應(yīng)用于 Transact SQL 查詢

執(zhí)行查詢

使用 XSL 轉(zhuǎn)換傳出的 XML

讀數(shù)據(jù)

以下示例執(zhí)行 ISAPI 模板中指定的 Transact SQL。如果必要,可將 HTTP 請(qǐng)求傳遞到 Transact SQL 代碼,并由該代碼進(jìn)行語(yǔ)法分析。根據(jù)模板中指定的 .xsl 文件,返回的 XML 將被轉(zhuǎn)換為 SOAP 并返回給 Web 服務(wù)的客戶:

<ROOT

xmlns:sql="urn:schemas-microsoft-com:xml-sql"

sql:xsl="BDAdotNetWebService3Example1.xsl">

<Orders>

<sql:query>

Exec GetOrdersXML

</sql:query>

</Orders>

</ROOT>

以下是模板中引用的 XSL 樣式表,它將存儲(chǔ)過(guò)程中的 XML 轉(zhuǎn)換為 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="//Orders"/>

</m:BDAdotNetWebService3Example1Response>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

</xsl:template>

</xsl:stylesheet>

最后,以下存儲(chǔ)過(guò)程代碼在 Transact SQL SELECT 語(yǔ)句中使用 FOR XML EXPLICIT 子句來(lái)返回 XML。“訂單”和“訂單詳細(xì)信息”從單獨(dú)的表中選擇,然后合并到 XML 層次中:

共2頁(yè)上一頁(yè)12下一頁(yè)
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 三台县| 香港| 甘肃省| 化德县| 孝义市| 湖南省| 宁津县| 十堰市| 沽源县| 剑川县| 舟山市| 托克托县| 洛南县| 镇赉县| 齐河县| 汉源县| 太保市| 乐清市| 武城县| 青阳县| 汝州市| 九龙坡区| 岗巴县| 普格县| 孝感市| 奉新县| 虹口区| 阜康市| 贡觉县| 平安县| 荆门市| 延吉市| 望城县| 衡阳县| 舒城县| 思南县| 陆丰市| 遂宁市| 松阳县| 涞源县| 盖州市|