国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

XML相關(guān)技術(shù)資料

瀏覽:140日期:2022-06-03 15:24:27

xmlHTTP技術(shù):
----------------------------------------------------------
一、數(shù)據(jù)庫遠(yuǎn)程管理技術(shù)

基于互聯(lián)網(wǎng)的廣域網(wǎng)現(xiàn)代應(yīng)用中的一個(gè)重要環(huán)節(jié)是數(shù)據(jù)庫遠(yuǎn)程監(jiān)控。首先簡單回顧一下互聯(lián)網(wǎng)上的數(shù)據(jù)庫遠(yuǎn)程管理技術(shù)的發(fā)展過程和方式:

早期通過編寫CGI-BIN程序模塊進(jìn)行數(shù)據(jù)庫遠(yuǎn)程管理。但CGI-BIN的運(yùn)行速度慢,維護(hù)很不方便,現(xiàn)在已經(jīng)基本被棄用。

這幾年使用組件對象模型(Component Object Model, COM)的應(yīng)用非常多,效果也很好。但如果使用的是第三方服務(wù)器(筆者的網(wǎng)站就是建立在第三方的虛擬主機(jī)上),服務(wù)器方往往因?yàn)楸C芑蚱渌虡I(yè)原因不允許用戶注冊自己的組件。

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

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

本文介紹如何綜合運(yùn)用XMLHTTP和ADO/ADOX進(jìn)行遠(yuǎn)程數(shù)據(jù)庫管理。

二、數(shù)據(jù)庫遠(yuǎn)程管理體系

數(shù)據(jù)庫遠(yuǎn)程管理的任務(wù)流程是:
1、客戶端向服務(wù)端發(fā)出數(shù)據(jù)庫結(jié)構(gòu)和數(shù)據(jù)的查詢或修改指令。
2、服務(wù)端接受并執(zhí)行有關(guān)指令并向客戶端返回結(jié)果。
3、客戶端接受并顯示服務(wù)端返回的指令執(zhí)行結(jié)果。

實(shí)現(xiàn)數(shù)據(jù)庫遠(yuǎn)程管理的二個(gè)主要關(guān)鍵環(huán)節(jié)是:
1、客戶端與服務(wù)端之間的指令上傳和結(jié)果下傳的數(shù)據(jù)通道,由XMLHTTP協(xié)議實(shí)現(xiàn)。
2、服務(wù)端前沿與數(shù)據(jù)庫之間的指令傳送和結(jié)果返回,由起著中間層作用的ADO/ADOX接口完成。
三、XMLHTTP的使用

顧名思義,XMLHTTP是個(gè)傳送XML格式數(shù)據(jù)的超文本傳輸協(xié)議。

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

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

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

Send varBody
    varBody:指令集??梢允荴ML格式數(shù)據(jù),也可以是字符串,流,或者一個(gè)無符號整數(shù)數(shù)組。也可以省略,讓指令通過Open方法的URL參數(shù)代入。

setRequestHeader bstrHeader, bstrValue
    bstrHeader:HTTP 頭(header)
    bstrValue:HTTP 頭(header)的值
    如果Open方法定義為POST,可以定義表單方式上傳:
    xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

XMLHTTP屬性:
onreadystatechange:在同步執(zhí)行方式下獲得返回結(jié)果的事件句柄。只能在DOM中調(diào)用。
responseBody:結(jié)果返回為無符號整數(shù)數(shù)組。
responseStream:結(jié)果返回為IStream流。
responseText :結(jié)果返回為字符串。
responseXML:結(jié)果返回為XML格式數(shù)據(jù)。


下面是本文附件源程序中的一個(gè)應(yīng)用示例:
Function GetResult(urlStr)
    Dim xmlHttp
    Dim retStr

    Set xmlHttp = CreateObject("Msxml2.XMLHTTP")    "創(chuàng)建對象
    On Error Resume Next                    "出錯(cuò)處理
    xmlHttp.Open "POST", urlStr, False        "用POST方式打開連接,異步執(zhí)行。
    xmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" "上傳表單
    xmlHttp.Send                            "發(fā)送指令

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

GetResult()函數(shù)帶入一個(gè)服務(wù)網(wǎng)頁的URL參數(shù),把上傳的指令安放在URL后面的參數(shù)上,如:
    urlStr = "server.asp?cmd=" & cmd & "&db=" & db & "table=" & table
    cmd:執(zhí)行方式,例如查詢,修改,刪除等等。
    db:服務(wù)端數(shù)據(jù)庫名
    table:服務(wù)端表名

然后提交指令,等待并接收返回的處理結(jié)果。結(jié)果以字符串方式返回。

最后由函數(shù)調(diào)用者處理并顯示結(jié)果。

標(biāo)簽: XML/RSS
相關(guān)文章:
主站蜘蛛池模板: 国产成人久久久精品一区二区三区 | 亚洲毛片免费看 | 国产精品久久久久久久免费大片 | 国产精品久久久久久福利漫画 | 精品欧美小视频在线观看 | 亚洲成人美女 | 久久er精品热线免费 | 精品一区二区三区免费毛片爱 | 午夜精品亚洲 | 久久高清免费 | 性感毛片 | 国产第二页 | 全球成人网| 国产成人cao在线 | 91精品国产福利尤物免费 | 特黄特黄一级高清免费大片 | 欧美成本人视频 | 夜色精品国产一区二区 | 成人老司机深夜福利久久 | 亚洲手机看片 | 欧美成人视 | 成人看免费一级毛片 | 最近最新中文字幕免费的一页 | 欧美一级久久久久久久大 | 国产大片中文字幕在线观看 | 一区二区三区在线播放视频 | 草草视频手机在线观看视频 | 97视频免费公开成人福利 | 一区二区三区视频免费观看 | 精品久久久久久乐 | 男人的天堂网在线 | 成人综合在线观看 | 国产精品免费综合一区视频 | 经典国产乱子伦精品视频 | 免费观看一级成人毛片 | 在线观看国产日本 | 欧美日韩a级片 | 一级毛片免费播放视频 | 国产99在线播放 | 成在线人视频免费视频 | 国产男女在线观看 |