怎樣使用SQL2000將現(xiàn)有代碼作為Web服務(wù)提供_Mssql數(shù)據(jù)庫教程
推薦:詳解SQL Server中數(shù)據(jù)庫快照的工作原理數(shù)據(jù)庫快照是怎樣工作的 可以使用典型的數(shù)據(jù)庫命令CREATE DATABASE語句來生成一個數(shù)據(jù)庫快照,在聲明中有一個源數(shù)據(jù)庫快照的附加說明。當(dāng)快照被建立時,同時生成一個稀疏文件。這個文件(只能使用在NTFS卷中)在初始化的時候并沒有磁盤空間分配給它盡管你可能
SQL Server 2000 的 XML 功能可以簡化將現(xiàn)有代碼作為 Web 服務(wù)提供的任務(wù)。本文集中討論了傳入和傳出 Transact SQL 代碼的數(shù)據(jù)與 XML 消息(在 Web 服務(wù)客戶機和服務(wù)器之間使用)之間的轉(zhuǎn)換。
評估現(xiàn)有代碼是否適合于作為 Web 服務(wù)提供時,本文討論的數(shù)據(jù)轉(zhuǎn)換問題并不是唯一需要考慮的問題。應(yīng)考慮的其它因素包括狀態(tài)模型、返回的數(shù)據(jù)大小、如何表示已經(jīng)成功、如何返回錯誤信息、安全模型(包括訪問控制、身份驗證和加密)、執(zhí)行模型(同步或異步)、如何分發(fā)代碼,以及事務(wù)模型(COM 事務(wù)或聲明事務(wù)),等等。這些問題將在即將發(fā)表的體系結(jié)構(gòu)主題(英文)文章中進行討論。
SQL Server 2000 中的現(xiàn)有代碼
SQL Server 2000 的 XML 功能簡化了將現(xiàn)有 Transact SQL 代碼作為 Web 服務(wù)提供的過程。這依賴于 SQL Server 2000 中的兩項 XML 功能:
對 Transact SQL 的擴展可將關(guān)系型數(shù)據(jù)轉(zhuǎn)換為 XML,并且可以對傳入的 XML 進行語法分析。
利用 ISAPI 模板功能,可將傳入的 HTTP 請求應(yīng)用于 Transact SQL 代碼,并且可以使用 XSL 樣式表對傳出的 XML 進行轉(zhuǎn)換。只要可以使用 FORXML 子句“選定”數(shù)據(jù),SQL Server 就可以將 XML 返回到 XML 模板。
SQL Server 2000 XML 模板
SQL Server 2000 XML 模板以透明方式執(zhí)行以下任務(wù):
對傳入的 HTTP 請求進行解碼
將參數(shù)應(yīng)用于 Transact SQL 查詢
執(zhí)行查詢
使用 XSL 轉(zhuǎn)換傳出的 XML
讀數(shù)據(jù)
以下示例執(zhí)行 ISAPI 模板中指定的 Transact SQL。如果必要,可將 HTTP 請求傳遞到 Transact SQL 代碼,并由該代碼進行語法分析。根據(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 樣式表,它將存儲過程中的 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>
最后,以下存儲過程代碼在 Transact SQL SELECT 語句中使用 FOR XML EXPLICIT 子句來返回 XML。“訂單”和“訂單詳細(xì)信息”從單獨的表中選擇,然后合并到 XML 層次中:
分享:SQL Server記錄輪班的技巧例:公司員工采取三個輪班制度:凌晨0:00到早上8:00為第一班,早上8:00到下午4:00為第二班,下午4:00到晚上12:00為第三班。 員工使用電子時鐘進行簽名,這種電子簽名可以自動將記錄添加到SQL Server數(shù)據(jù)庫中。但是,有時候,需要增加一個夜班;即使這
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請求檢索數(shù)據(jù) 錯誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲過程參數(shù)的用法實例詳解
Mssql數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫教程推薦
- 注意:在SQL SERVER中使用NChar、NVarchar和NText
- SQL Server數(shù)據(jù)庫增強版?zhèn)浞蒹w驗
- 如何在SQL Server2005中還原數(shù)據(jù)庫
- SQL Server 2000數(shù)據(jù)庫崩潰后的補救措施
- 關(guān)于Oracle與SQL Server數(shù)據(jù)庫鏡像的對比
- 如何巧妙規(guī)劃使用Oracle數(shù)據(jù)空間
- 解析最基本的sql語句操作
- Sql學(xué)習(xí)第一天——SQL 練習(xí)題(建表/sql語句)
- sql lite 數(shù)據(jù)庫之間表復(fù)制的方法
- 解讀SQL Server 2005:數(shù)據(jù)類型最大值
猜你也喜歡看這些
- mysql占用CPU過高的解決辦法(添加索引)
- mysql 按照時間段來獲取數(shù)據(jù)的方法
- Mysql中的find_in_set的使用方法介紹
- 通過mysqladmin遠(yuǎn)程管理mysql的方法
- CentOS6.4系統(tǒng)中Mysql數(shù)據(jù)庫卸載、安裝與配置
- 使用java處理字符串公式運算的方法
- mysql常用監(jiān)控腳本命令整理
- 如何用workbench導(dǎo)出mysql數(shù)據(jù)庫關(guān)系圖
- MySql大批量導(dǎo)入數(shù)據(jù)優(yōu)化
- 服務(wù)器不支持 MySql 數(shù)據(jù)庫的解決方法
- 相關(guān)鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-怎樣使用SQL2000將現(xiàn)有代碼作為Web服務(wù)提供
。