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

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        運用SQLXML 3.0把存儲過程暴露為Web服務

        運用SQLXML 3.0把存儲過程暴露為Web服務

        更新時間:2021-09-25 文章作者:未知 信息來源:網絡 閱讀次數:

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

        Web服務用于建立松散連接的應用程序并實現互操作性。松散連接的應用程序使你能重新配置、重新部署或重新定位它的實現而不影響相關的應用程序。互操作性涉及到建立能夠在允許Web服務的任何平臺上使用的應用程序。通過Web服務暴露SQL Server給予應用程序一個松散的連接接口,使你能夠修改數據庫的結構和位置而不影響應用程序。另外,Web服務使SQL Server能與更多的編程環境和平臺交互操作。

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

        SQL Server 2000 Web Release 3(SQLXML 3.0)的焦點是Web服務(你能夠通過鏈接http://microsoft.com/sql/default.asp下載SQLXML 3.0)。SQLXML 3.0使你能夠從數據庫中選擇存儲過程并從虛擬目錄中選擇XML模版,把它們暴露為Web服務的方法。因為你能夠通過Web服務和傳統方法(例如T-SQL EXEC語句、OLE DB、ADO和ODBC)調用存儲過程,你可以最大化地重復使用這些組件。簡單地說,SQLXML 3.0使你能把數據庫編程中的專門技術擴展到Web服務中而不需要學習新的語言或工具。下面讓我們看看怎樣把存儲過程轉變為Web服務。

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

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

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

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

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

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 在线观看免费视频资源| 国产亚洲精品美女| 久久精品免费电影| 久久久无码精品亚洲日韩蜜桃| 一级毛片视频免费| 亚洲中文字幕在线观看| 色播在线永久免费视频网站| 国产成人亚洲午夜电影| 国产免费看插插插视频| 免费视频成人国产精品网站| 日本中文一区二区三区亚洲| 免费人人潮人人爽一区二区| 亚洲综合另类小说色区| av永久免费网站在线观看| 亚洲综合日韩中文字幕v在线| 7m凹凸精品分类大全免费| 亚洲狠狠ady亚洲精品大秀| 免费精品人在线二线三线区别| 亚洲人成小说网站色| 四虎免费在线观看| 视频免费1区二区三区| 精品久久香蕉国产线看观看亚洲| 无码少妇精品一区二区免费动态| 亚洲福利一区二区精品秒拍| 大地资源二在线观看免费高清| 亚洲日韩中文字幕无码一区| 亚洲国产成人久久综合区| 最近国语视频在线观看免费播放| 亚洲一区二区在线视频| 毛片免费vip会员在线看| 日韩免费码中文在线观看| 亚洲尹人九九大色香蕉网站| 在线免费观看中文字幕| 一区二区三区免费看| 亚洲欧洲日产国码www| 亚洲国产精品综合久久一线| 久久国产精品一区免费下载| 亚洲人成网站色7799| 亚洲国产精品13p| 天天影视色香欲综合免费| 免费大片av手机看片高清|