XML相关技术资料
作者:dcwzyb_271 | 来源:互联网 | 2022-06-16 11:25
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:服务端表名 然后提交指令,等待并接收返回的处理结果。结果以字符串方式返回。 最后由函数调用者处理并显示结果。
推荐阅读
本文详细介绍了如何在Ubuntu 16.04系统上配置Jenkins、Ant和TestNG的集成开发环境,涵盖从安装到配置的具体步骤,并提供了创建Windows Slave节点及项目构建的指南。 ...
[详细]
蜡笔小新 2024-12-20 16:50:58
Symfony是一个功能强大的PHP框架,以其依赖注入(DI)特性著称。许多流行的PHP框架如Drupal和Laravel的核心组件都基于Symfony构建。本文将详细介绍Symfony的安装方法及其基本使用。 ...
[详细]
蜡笔小新 2024-12-21 14:17:36
本文详细介绍了Linux系统中软链接和硬链接的概念、创建方法及其应用场景。通过实例解释了两者的区别,包括如何防止误删文件及软链接在跨文件系统时的优势。 ...
[详细]
蜡笔小新 2024-12-22 20:28:15
本文详细介绍了如何在不同操作系统和设备上设置和配置网络连接的IP地址,涵盖静态和动态IP地址的设置方法。同时,提供了关于路由器和机顶盒等设备的IP配置指南。 ...
[详细]
蜡笔小新 2024-12-22 18:45:18
本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ...
[详细]
蜡笔小新 2024-12-22 18:26:55
本文详细介绍了如何使用 PHP 接收并处理微信支付的回调结果,确保支付通知能够被正确接收和响应。 ...
[详细]
蜡笔小新 2024-12-22 14:32:35
本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ...
[详细]
蜡笔小新 2024-12-22 13:38:48
本文详细介绍了在不同操作系统中查找和设置网卡的方法,涵盖了Windows系统的具体步骤,并提供了关于网卡位置、无线网络设置及常见问题的解答。 ...
[详细]
蜡笔小新 2024-12-22 10:35:47
yum俗称大黄狗作用:解决安装软件包的依赖关系当安装依赖关系的软件包时,会将依赖的软件包一起安装。本地yum:需要yum源,光驱挂载。yum源:(刚开始查看yum源中的内容就是上图 ...
[详细]
蜡笔小新 2024-12-22 07:41:00
本文探讨了如何解决PHP文件无法写入本地文件的问题,并解释了PHP文件中HTML代码无效的原因,提供了一系列实用的解决方案和最佳实践。 ...
[详细]
蜡笔小新 2024-12-22 07:18:12
本文探讨了为何相同的HTTP请求在两台不同操作系统(Windows与Ubuntu)的机器上会分别返回200 OK和429 Too Many Requests的状态码。我们将分析代码、环境差异及可能的影响因素。 ...
[详细]
蜡笔小新 2024-12-21 19:35:11
在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ...
[详细]
蜡笔小新 2024-12-21 16:55:52
通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ...
[详细]
蜡笔小新 2024-12-21 14:26:22
本文详细介绍了 Python 中的条件语句和循环结构。主要内容包括:1. 分支语句(if...elif...else);2. 循环语句(for, while 及嵌套循环);3. 控制循环的语句(break, continue, else)。通过具体示例,帮助读者更好地理解和应用这些语句。 ...
[详细]
蜡笔小新 2024-12-21 12:58:28
2012年7月30日,语言岛团队宣布其智能记单词软件V0.3.4.554版本正式开源。该版本不仅支持跨平台使用,还引入了多项创新功能,旨在帮助用户更高效地记忆单词。 ...
[详细]
蜡笔小新 2024-12-21 11:49:02
dcwzyb_271
这个家伙很懒,什么也没留下!