• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

        運(yùn)用SQLXML 3.0把存儲過程暴露為Web服務(wù)

        運(yùn)用SQLXML 3.0把存儲過程暴露為Web服務(wù)

        更新時(shí)間:2021-09-25 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        最新的技術(shù)是Web服務(wù)。現(xiàn)在出現(xiàn)在所有市場中的類似簡單對象訪問協(xié)議(SOAP)、Web服務(wù)描述語言(WSDL)、通用描述、發(fā)現(xiàn)和集成(UDDI)等術(shù)語的基本元素都是XML和Internet。

        Web服務(wù)用于建立松散連接的應(yīng)用程序并實(shí)現(xiàn)互操作性。松散連接的應(yīng)用程序使你能重新配置、重新部署或重新定位它的實(shí)現(xiàn)而不影響相關(guān)的應(yīng)用程序。互操作性涉及到建立能夠在允許Web服務(wù)的任何平臺上使用的應(yīng)用程序。通過Web服務(wù)暴露SQL Server給予應(yīng)用程序一個(gè)松散的連接接口,使你能夠修改數(shù)據(jù)庫的結(jié)構(gòu)和位置而不影響應(yīng)用程序。另外,Web服務(wù)使SQL Server能與更多的編程環(huán)境和平臺交互操作。

        為了達(dá)到互操作性,開發(fā)者需要在一套開放的工業(yè)標(biāo)準(zhǔn)和協(xié)議上建立Web服務(wù)。XML是這些標(biāo)準(zhǔn)中多數(shù)的基礎(chǔ),提供了不依賴平臺的描述和數(shù)據(jù)表現(xiàn)。建立在XML上的SOAP提供了基于標(biāo)準(zhǔn)的向應(yīng)用程序發(fā)送數(shù)據(jù)和從應(yīng)用程序接收數(shù)據(jù)的途徑,代表性的是使用HTTP。WSDL描述了位置、方法、參數(shù)和Web服務(wù)使用的數(shù)據(jù)類型。UDDI為注冊Web服務(wù)或查找需要的其它Web服務(wù)的目錄提供了一個(gè)接口。通過把這些標(biāo)準(zhǔn)技術(shù)和T-SQL編程組合在一起,你能把SQL Server存儲過程實(shí)現(xiàn)為Web服務(wù)。

        SQL Server 2000 Web Release 3(SQLXML 3.0)的焦點(diǎn)是Web服務(wù)(你能夠通過鏈接http://microsoft.com/sql/default.asp下載SQLXML 3.0)。SQLXML 3.0使你能夠從數(shù)據(jù)庫中選擇存儲過程并從虛擬目錄中選擇XML模版,把它們暴露為Web服務(wù)的方法。因?yàn)槟隳軌蛲ㄟ^Web服務(wù)和傳統(tǒng)方法(例如T-SQL EXEC語句、OLE DB、ADO和ODBC)調(diào)用存儲過程,你可以最大化地重復(fù)使用這些組件。簡單地說,SQLXML 3.0使你能把數(shù)據(jù)庫編程中的專門技術(shù)擴(kuò)展到Web服務(wù)中而不需要學(xué)習(xí)新的語言或工具。下面讓我們看看怎樣把存儲過程轉(zhuǎn)變?yōu)閃eb服務(wù)。

        配置虛擬目錄。把存儲過程暴露為Web服務(wù)的第一步是從安裝SQLXML 3.0產(chǎn)生的Configure IIS Support(配置IIS支持)菜單項(xiàng)中選擇Microsoft IIS Virtual Directory Manager(微軟IIS虛擬目錄管理器)。要建立虛擬目錄,從左邊的樹視圖中選擇Web服務(wù)器,接著展開該視圖并點(diǎn)擊默認(rèn)的Web站點(diǎn)。右擊右邊面板中的任意區(qū)域,選擇Context-》New-》Virtual Directory來顯示一個(gè)New Virtual Directory Properties(新虛擬目錄屬性)對話框。在“安全和數(shù)據(jù)源”頁面上,輸入能夠訪問Northwind示例數(shù)據(jù)庫的SQL Server登陸許可。注意你在“通用”頁面上選擇的目錄的許可必須給你在“安全和數(shù)據(jù)源” 頁面上為IIS配置的默認(rèn)用戶授權(quán)(請查看IIS文檔尋找配置的詳細(xì)信息)。為了避免許可的問題,為你的虛擬目錄選擇Inetpub\wwwroot的一個(gè)子目錄,IIS默認(rèn)用戶自動(dòng)擁有訪問Inetpub\wwwroot下面數(shù)據(jù)的權(quán)限。下一步,在“設(shè)置”頁面上,選擇Allow POST選項(xiàng),這樣虛擬目錄能夠接受HTTP POST請求。點(diǎn)擊“應(yīng)用”。

        配置虛擬名稱。在配置虛擬目錄后,點(diǎn)擊New Virtual Directory Properties(新虛擬目錄屬性)對話框上的“虛擬名稱”頁面。從虛擬名稱列表中選擇新虛擬名稱,為該虛擬名稱選擇一個(gè)名字,接著把它的類型設(shè)置為soap。列表1顯示了把soap字符串作為虛擬名稱的VBScript代碼。給虛擬名稱輸入一個(gè)路徑。該路徑包含了當(dāng)你把修改保存到根目錄時(shí)從IIS虛擬目錄管理器中輸出的WSDL文件。我通常選擇('.'),它選擇相同的目錄作為虛擬目錄。你可以接收對話框中剩余字段的默認(rèn)值。點(diǎn)擊“保存”。當(dāng)你保存虛擬名稱時(shí),SQLXML 3.0給你指定的虛擬名稱目錄寫入兩個(gè)文件,擴(kuò)展名為.wsdl。其它的文件擴(kuò)展名為.ssc,包含IIS虛擬目錄管理器使用的存儲過程的XML描述。現(xiàn)在你選擇希望暴露作為Web服務(wù)方法的存儲過程。在本文的例子中,我使用列表2中所示的OrdersForCustomer存儲過程。這個(gè)存儲過程返回指定客戶ID(作為參數(shù)傳遞進(jìn)的)的訂單集合。進(jìn)行下一步之前,你必須使用查詢分析器(Query Analyzer)把這個(gè)存儲過程安裝在Northwind示例數(shù)據(jù)庫中。

        列表1:調(diào)用一個(gè)存儲過程的VBScript代碼
        Sub Main()
        Dim xmlhttp
        set xmlhttp = CreateObject("Msxml2.XMLHTTP.4.0")
        Dim request
        request = "<?xml version='1.0' encoding='UTF-8'
          standalone='no'?>" & _
        "<SOAP-ENV:Envelope xmlns:
          SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'>" & _
        " <SOAP-ENV:Body>" & _
        " <OrdersForCustomer xmlns=
            'http://localhost/June2002/soap'>" & _
        " <CID>BOTTM</CID>" & _
        " </OrdersForCustomer>" & _
        " </SOAP-ENV:Body>" & _
        "</SOAP-ENV:Envelope>"
        xmlhttp.open "POST", "http://localhost/June2002/soap", False
        xmlhttp.send (request)
        MsgBox (xmlhttp.responseXML.xml)
        End Sub



        列表2:建立OrdersForCustomer存儲過程的代碼
        CREATE PROCEDURE OrdersForCustomer @CID nvarchar(50)
        AS
        SELECT * FROM Customers, Orders
        WHERE Customers.CustomerID = @CID
        AND Customers.CustomerID = Orders.CustomerID
        GO



        建立Web服務(wù)。在“新虛擬目錄屬性”對話框的“虛擬名稱”頁面上選擇剛剛建立的虛擬名稱,接著點(diǎn)擊“配置”(Configure)。這樣就顯示了Soap虛擬名稱配置對話框。在這個(gè)對話框中,選擇你希望暴露作為Web服務(wù)方法的存儲過程。為了選擇一個(gè)存儲過程,點(diǎn)擊("..."),它建立你配置虛擬目錄訪問的一個(gè)數(shù)據(jù)庫中可用的存儲過程列表。不要選擇包含F(xiàn)OR XML子句查詢的存儲過程。作為代替,你必須選擇返回標(biāo)準(zhǔn)結(jié)果集合的存儲過程。SQLXML 3.0期望存儲過程返回輸出參數(shù)或標(biāo)準(zhǔn)結(jié)果的結(jié)果集。接著該結(jié)果在中間層中被建立為XML。選擇返回標(biāo)準(zhǔn)結(jié)果集的存儲過程使所有可以用于Web服務(wù)或傳統(tǒng)編程方法(例如T-SQL)的存儲過程的靈活性最大化了。當(dāng)你在中間層中建立XML查詢結(jié)果,要小心避免SQLXML 3.0的限制(你可以查看SQLXML 3.0在線文檔查看這些限制的詳細(xì)信息)。你選擇OrdersForCustomer存儲過程后,點(diǎn)擊“確定”(OK),接著點(diǎn)擊Soap虛擬名稱配置對話框的“保存”(Save)按鈕。這樣你就已經(jīng)建立了第一個(gè)Web服務(wù)了。你可以使用任何文本編輯器檢查為虛擬名稱選擇的目錄中的WSDL。該WSDL文件包含余你選擇的Web服務(wù)相對應(yīng)的方法定義。

        為了測試新建立的Web服務(wù),使用列表1中顯示的VBScript代碼。該代碼建立一個(gè)調(diào)用該Web服務(wù)的SOAP消息,接著使用XMLHTTP對象把該SOAP請求發(fā)送給Web服務(wù)。SOAP結(jié)果顯示在一個(gè)消息框中。這個(gè)客戶端簡單演示了SOAP小心在VBScript和SQLXML 3.0之間的交換。但是,它也顯示了現(xiàn)在存儲過程調(diào)用可以通過在HTTP上使用SOAP跨平臺交互操作,它們通過WSDL和SCC文件中的描述提供了到存儲過程的松散連接。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 亚洲日本中文字幕天天更新| 中文字幕免费在线播放| 国产色爽免费无码视频| 一级毛片直播亚洲| 黄色网址免费在线| 四虎影库久免费视频| 在线看亚洲十八禁网站| 亚洲国产日韩成人综合天堂 | 亚洲精品国产专区91在线| 无码国产精品一区二区免费3p | 国产精品美女免费视频观看| 亚洲精品第一国产综合精品99| 成人免费网站视频www| 亚洲国产精品碰碰| 中文在线免费看视频| 亚洲AV永久无码区成人网站| 无码精品人妻一区二区三区免费看| 亚洲国产精品第一区二区| 国内一级一级毛片a免费| 亚洲人成电影在线观看青青| 日本亚洲免费无线码| 亚洲精品中文字幕无乱码麻豆| 久久WWW免费人成人片| 国产精品亚洲天堂| 伊人久久大香线蕉亚洲| 59pao成国产成视频永久免费| 亚洲av成人一区二区三区| 曰皮全部过程视频免费国产30分钟| 国产成人高清亚洲一区91| 国产亚洲精品自在久久| 在线精品一卡乱码免费| 在线观看亚洲免费视频| 亚洲AV日韩AV永久无码久久| 成年在线网站免费观看无广告| 成人国产网站v片免费观看| 久久青青草原亚洲av无码app| 美女被免费视频网站a国产| 2022国内精品免费福利视频| 亚洲成人福利在线| 亚洲精品A在线观看| 97热久久免费频精品99 |