六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

xmlHTTP技術資料

[摘要]一、數據庫遠程管理技術 基于互聯網的廣域網現代應用中的一個重要環節是數據庫遠程監控。首先簡單回顧一下互聯網上的數據庫遠程管理技術的發展過程和方式: 早期通過編寫CGI-BIN程序模塊進行數據庫遠程管理。但CGI-BIN的運行速度慢,維護很不方便,現在已經基本被棄用。 這幾年使用組件對象模型(Com...
一、數據庫遠程管理技術

基于互聯網的廣域網現代應用中的一個重要環節是數據庫遠程監控。首先簡單回顧一下互聯網上的數據庫遠程管理技術的發展過程和方式:

早期通過編寫CGI-BIN程序模塊進行數據庫遠程管理。但CGI-BIN的運行速度慢,維護很不方便,現在已經基本被棄用。

這幾年使用組件對象模型(Component Object Model, COM)的應用非常多,效果也很好。但如果使用的是第三方服務器(筆者的網站就是建立在第三方的虛擬主機上),服務器方往往因為保密或其它商業原因不允許用戶注冊自己的組件。

近年來由微軟公司推出的.NET平臺和SUN公司的J2EE平臺都是非常高檔的數據庫遠程管理與服務平臺。都能提供優質的多層(n-Tier)應用服務。
其中,.NET的簡單對象訪問協議(Simple Object Access Protocol, SOAP)使用超文本傳輸協議(Hypertext Transfer Protocol, HTTP)和擴展標記語言(Extensible Markup Language, XML)技術實現跨系統(例如Windows - Linux)的通訊服務方式已經廣為開發商接受和使用。許多大型應用,例如企業資源計劃(Enterprise resource planning, ERP)等都建立在這樣的大型平臺之上。
但對于中小型應用,比如一個網站的建設和維護,這種大型應用平臺就顯得有些尾大不掉,開銷也過于龐大。

曾經在互聯網技術和Java技術方面一度落后的微軟公司在XML應用開發則走在了前頭。她的XML解析器(MSXML)中的XMLHTTP協議是一個非常方便實用的客戶/服務通訊管道。綜合運用XMLHTTP以及ActiveX數據對象(ActiveX Data Objects, ADO/ADOX)可以簡單方便地實現數據庫遠程管理。

本文介紹如何綜合運用XMLHTTP和ADO/ADOX進行遠程數據庫管理。

二、數據庫遠程管理體系

數據庫遠程管理的任務流程是:
1、客戶端向服務端發出數據庫結構和數據的查詢或修改指令。
2、服務端接受并執行有關指令并向客戶端返回結果。
3、客戶端接受并顯示服務端返回的指令執行結果。

實現數據庫遠程管理的二個主要關鍵環節是:
1、客戶端與服務端之間的指令上傳和結果下傳的數據通道,由XMLHTTP協議實現。
2、服務端前沿與數據庫之間的指令傳送和結果返回,由起著中間層作用的ADO/ADOX接口完成。
三、XMLHTTP的使用

顧名思義,XMLHTTP是個傳送XML格式數據的超文本傳輸協議。

實際上,XMLHTTP的數據傳輸過程更為靈活一些:
它上傳的指令可以是XML格式數據,也可以是字符串,流,或者一個無符號整數數組。還可以是URL的參數。
它下達的結果可以是XML格式數據,也可以是字符串,流,或者一個無符號整數數組。
詳情可參閱文末鏈接。

客戶端調用XMLHTTP的過程很簡單,只有5個步驟:
1、創建XMLHTTP對象
2、打開與服務端的連接,同時定義指令發送方式,服務網頁(URL)和請求權限等。
    客戶端通過Open命令打開與服務端的服務網頁的連接。與普通HTTP指令傳送一樣,可以用"GET"方法或"POST"方法指向服務端的服務網頁。
3、發送指令。
4、等待并接收服務端返回的處理結果。
5、釋放XMLHTTP對象

XMLHTTP方法:
Open bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword
    bstrMethod:數據傳送方式,即GET或POST。
    bstrUrl:服務網頁的URL。
    varAsync:是否同步執行。缺省為True,即同步執行,但只能在DOM中實施同步執行。
     應用中一般將其置為False,即異步執行。
    bstrUser:用戶名,可省略。
    bstrPassword:用戶口令,可省略。

Send varBody
    varBody:指令集。可以是XML格式數據,也可以是字符串,流,或者一個無符號整數數組。也可以省略,讓指令通過Open方法的URL參數代入。
     
setRequestHeader bstrHeader, bstrValue
    bstrHeader:HTTP 頭(header)
    bstrValue:HTTP 頭(header)的值
    如果Open方法定義為POST,可以定義表單方式上傳:
    xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
     
XMLHTTP屬性:
onreadystatechange:在同步執行方式下獲得返回結果的事件句柄。只能在DOM中調用。
responseBody:結果返回為無符號整數數組。
responseStream:結果返回為IStream流。
responseText :結果返回為字符串。
responseXML:結果返回為XML格式數據。
     

下面是本文附件源程序中的一個應用示例:
Function GetResult(urlStr)
    Dim xmlHttp
    Dim retStr
     
    Set xmlHttp = CreateObject("Msxml2.XMLHTTP")    '創建對象
    On Error Resume Next                    '出錯處理
    xmlHttp.Open "POST", urlStr, False        '用POST方式打開連接,異步執行。
    xmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" '上傳表單
    xmlHttp.Send                            '發送指令

    If Err.Number = 0 Then                    '如果連接正確
        retStr = xmlHttp.responseText        '等待并獲得服務端返回的結果字符串
    Else
        retStr = "Url not found"                '否則返回出錯信息
    End If
    Set xmlHttp = nothing                    '釋放對象    GetResult = retStr                        '返回結果
End Function

GetResult()函數帶入一個服務網頁的URL參數,把上傳的指令安放在URL后面的參數上,如:
    urlStr = "server.asp?cmd=" & cmd & "&db=" & db & "table=" & table
    cmd:執行方式,例如查詢,修改,刪除等等。
    db:服務端數據庫名
    table:服務端表名
     
然后提交指令,等待并接收返回的處理結果。結果以字符串方式返回。

最后由函數調用者處理并顯示結果。




主站蜘蛛池模板: 午夜久久精品 | 一区二区三区在线视频播放 | 日日摸日日添夜夜爽97 | 日韩福利影院 | 怡春院日本一区二区久久 | 特黄a大片免费视频 | 在线亚洲精品中文字幕美乳 | 欧美综合图片一区二区三区 | 欧美资源在线观看 | 欧美专区亚洲 | 日韩欧美中文字幕一区 | 日本天堂在线播放 | 色呦呦在线看 | 亚洲一区二区成人 | 四虎影视免费 | 五月激情丁香婷婷综合第九 | 日韩视频在线观看中字 | 香港三级理论在线影院 | 日本天堂免费 | 欧美综合一区 | 在线污视频 | 日本高清一区二区三区不卡免费 | 日韩射吧| 日本无卡码一区二区三区 | 中文字幕在线观看日本 | 亚洲六月丁香六月婷婷蜜芽 | 热热热色 | 亚洲天堂视频在线免费观看 | 一级毛片免费毛片一级毛片免费 | 四虎影院永久 | 亚洲自偷自偷图片在线高清 | 日韩三级欧美 | 色屁屁影院免费观看入口 | 色花堂国产精品第二页 | 亚洲天堂v | 探花视频免费播放观看 | 亚洲精品国产福利在线观看 | 欧美一区精品二区三区 | 色综合天天综合高清影视 | 亚洲精品免费视频 | 四虎影视在线 |