怎樣使用SQL2000將現有代碼作為Web服務提供_Mssql數據庫教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:詳解SQL Server中數據庫快照的工作原理
      數據庫快照是怎樣工作的 可以使用典型的數據庫命令CREATE DATABASE語句來生成一個數據庫快照,在聲明中有一個源數據庫快照的附加說明。當快照被建立時,同時生成一個稀疏文件。這個文件(只能使用在NTFS卷中)在初始化的時候并沒有磁盤空間分配給它盡管你可能

      SQL Server 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="//Orders"/>

      </m:BDAdotNetWebService3Example1Response>

      </SOAP-ENV:Body>

      </SOAP-ENV:Envelope>

      </xsl:template>

      </xsl:stylesheet>

      最后,以下存儲過程代碼在 Transact SQL SELECT 語句中使用 FOR XML EXPLICIT 子句來返回 XML。“訂單”和“訂單詳細信息”從單獨的表中選擇,然后合并到 XML 層次中:

      分享:SQL Server記錄輪班的技巧
      例:公司員工采取三個輪班制度:凌晨0:00到早上8:00為第一班,早上8:00到下午4:00為第二班,下午4:00到晚上12:00為第三班。 員工使用電子時鐘進行簽名,這種電子簽名可以自動將記錄添加到SQL Server數據庫中。但是,有時候,需要增加一個夜班;即使這

      共2頁上一頁12下一頁
      來源:模板無憂//所屬分類:Mssql數據庫教程/更新時間:2009-06-25
      相關Mssql數據庫教程