XMLlHTTP技术资料

xml

xmlHTTP技术:
----------------------------------------------------------
一、数据库远程管理技术

基于互联网的广域网现代应用中的一个重要环节是数据库远程监控。首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式:

早期通过编写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:服务端表名
     
然后提交指令,等待并接收返回的处理结果。结果以字符串方式返回。

最后由函数调用者处理并显示结果。

时间: 2024-10-25 15:15:15

XMLlHTTP技术资料的相关文章

ASP编程全接触-技术资料大奉献

      Active Server Pages(ASP)是服务器端脚本编写 环境,使用它可以创建和运行动态.交互的 Web 服务器应用程序.ASP最典型的应用是通过结构化查询语言SQL实现对数据库的访问和控制.这些特点使得ASP能够很容易地实现动态交互页面.本站搜集了大量的ASP技术资料,包括ASP组件.函数.安全以及实现对相关数据库的访问等技术资料和参考手册供广大网友下载,希望能对广大的编程爱好者有所帮助. 访问数据库的三种方式 点击下载 实现数据库分页显示分析 点击下载 使用HTTP访问

如何查找技术资料----我的一点心得体会

作为一个IT人员,如果不能利用搜索引擎很快地查找到自己想要的技术资料的话,那么会很悲剧!特别是面对新技术的时候,由于资料特别少,就算有,大部分也是英文资料.如果这时候,你查找资料的能力比不上别人的话,很有可能就会在新一轮的技术竞赛中被甩在后面,比如现在很火的ios游戏开发.android由于搞的人多,资料也相对来说多一些,门槛也低一些,不需要mac,只要有一台pc就可以弄.但是,接下来的wphone7呢?你准备好了吗? 我来博客园也有将近半年时间了,在入园的时候,我写了一篇<如何学习iphone

如何避免在技术资料交付安全,看科易宝怎么做到?

众所周知,在技术交易过程中,技术资料的安全交付是一个相当重要的问题.如何避免在技术资料交付过程中出现各种纠纷以及危害技术持有人合法利益行为的发生呢,我们看看科易宝是怎么做到的. 设置安全控件 安全控件是科易宝(http://www.keyibao.com/)资料交付环节的核心架构,基于数字证书.电子签名与数据加密功能开发,为技术这一无形商品的"物流通道"提供安全保障,确保技术资料交付过程中任何第三方不能截取.资料接收方对接收动作不可抵赖. 引入"公证云"系统 引入厦

求JAVA技术资料

问题描述 哪位大侠有JAVA的相关技术资料提供下啊,基础的.案例的都行啊.先谢谢大家了! 解决方案 解决方案二:ThinkinginJava解决方案三: 解决方案四:http://www.open-open.com/

(更新完结)阿里珍贵技术资料免费下载

小编精心挑选2016云栖大会.历届在线技术峰会.云栖技术直播核心资料,只把最好的呈现给你!因为资料集合过于庞大,所以分批放出,随时关注社区,可以看到全套460份资料合集哦! 3月16日更新:[PDF]企业互联网转型中大数据建构[PDF]中石化互联网转型思考与实践[PDF]阿里开源发展与生态[PDF]Open Source Docker[PDF]Weex项目&阿里移动技术开源方向[PDF]How to create a successful open source project[PDF]中国人的

XMLHTTP的一些相关技术资料总结

xmlHTTP技术: ---------------------------------------------------------- 一.数据库远程管理技术 基于互联网的广域网现代应用中的一个重要环节是数据库远程监控.首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式: 早期通过编写CGI-BIN程序模块进行数据库远程管理.但CGI-BIN的运行速度慢,维护很不方便,现在已经基本被弃用. 这几年使用组件对象模型(Component Object Model, COM)的应用非常多

Ajax核心:XMLHTTP组件相关技术资料

ajax|xml 一.数据库远程管理技术 基于互联网的广域网现代应用中的一个重要环节是数据库远程监控.首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式: 早期通过编写CGI-BIN程序模块进行数据库远程管理.但CGI-BIN的运行速度慢,维护很不方便,现在已经基本被弃用. 这几年使用组件对象模型(Component Object Model, COM)的应用非常多,效果也很好.但如果使用的是第三方服务器(笔者的网站就是建立在第三方的虚拟主机上),服务器方往往因为保密或其它商业原因不允

XMLHTTP组件相关技术资料

xml 一.数据库远程管理技术 基于互联网的广域网现代应用中的一个重要环节是数据库远程监控.首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式: 早期通过编写CGI-BIN程序模块进行数据库远程管理.但CGI-BIN的运行速度慢,维护很不方便,现在已经基本被弃用. 这几年使用组件对象模型(Component Object Model, COM)的应用非常多,效果也很好.但如果使用的是第三方服务器(笔者的网站就是建立在第三方的虚拟主机上),服务器方往往因为保密或其它商业原因不允许用户注册

xmlHTTP技术资料

xml 一.数据库远程管理技术 基于互联网的广域网现代应用中的一个重要环节是数据库远程监控.首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式: 早期通过编写CGI-BIN程序模块进行数据库远程管理.但CGI-BIN的运行速度慢,维护很不方便,现在已经基本被弃用. 这几年使用组件对象模型(Component Object Model, COM)的应用非常多,效果也很好.但如果使用的是第三方服务器(笔者的网站就是建立在第三方的虚拟主机上),服务器方往往因为保密或其它商业原因不允许用户注册