XML 记录集暂留方案
适用于:Access 2013、Office 2013
在该方案中,您将创建一个 Active Server Pages (ASP) 应用程序,该应用程序将 Recordset 对象的内容直接保存到 ASP Response 对象中。
注意
该方案要求您的服务器上装有 Internet Information Server 5.0 (IIS) 或更高版本。
返回的 Recordset 使用 RDS.DataControl 显示在 Internet Explorer 中。
下列步骤是创建该方案所必需的步骤:
- 设置应用程序。
- 获取数据。
- 发送数据。
- 接收和显示数据。
步骤 1:设置应用程序
创建具有脚本权限的名为 XMLPersist 的 IIS 虚拟目录。
在虚拟目录指向的文件夹中创建两个新文本文件,一个名为 XMLResponse.asp,另一个名为 Default.htm。
步骤 2:获取数据
在该步骤中,您将编写用来打开 ADO Recordset 的代码,并准备将其发送到客户端。
用文本编辑器(如 Windows 记事本)打开 XMLResponse.asp 文件,并插入以下代码:
<%@ language="VBScript" %> <!-- #include file='adovbs.inc' --> <% Dim strSQL, strCon Dim adoRec Dim adoCon Dim xmlDoc ' You will need to change "slqServer" below to the name of the SQL ' server machine to which you want to connect. strCon = "Provider=sqloledb;Data Source=sqlServer;Initial Catalog=Pubs;Integrated Security=SSPI;" Set adoCon = server.createObject("ADODB.Connection") adoCon.Open strCon strSQL = "SELECT Title, Price FROM Titles ORDER BY Price" Set adoRec = Server.CreateObject("ADODB.Recordset") adoRec.Open strSQL, adoCon, adOpenStatic, adLockOptimistic, adCmdText
请务必将 strCon 中数据源参数的值更改为 Microsoft SQL Server 计算机的名称。
使该文件保持打开状态并转至下一步。
步骤 3:发送数据
现在您已经拥有一个 Recordset,您将需要通过将它作为 XML 保存到 ASP Response 对象中来将其发送到客户端。
请将以下代码添加到 XMLResponse.asp 的底部:
Response.ContentType = "text/xml" Response.Expires = 0 Response.Buffer = False Response.Write "<?xml version='1.0'?>" & vbNewLine adoRec.save Response, adPersistXML adoRec.Close Set adoRec=Nothing %>
请注意,ASP Response 对象指定为 RecordsetSave 方法的目标。 Save 方法的目标可以是支持 IStream 接口的任何对象(如 ADO Stream 对象),也可以是包括要将 Recordset 保存到的完整路径的文件名。
在转至下一步之前请保存并关闭 XMLResponse.asp。 还要将 adovbs.inc 文件从 C:\Program Files\Common Files\System\Ado 文件夹复制到 XMLResponse.asp 文件所在的同一文件夹中。
步骤 4:接收和显示数据
在此步骤中,你将创建一个包含嵌入式 RDS 的 HTML 文件。指向 XMLResponse.asp 文件以获取 Recordset 的 DataControl 对象。
使用文本编辑器(如 Windows 记事本)打开 default.htm,并添加以下代码。 将该 URL 中的"sqlserver"替换为您的服务器计算机的名称。
<HTML> <HEAD><TITLE>ADO Recordset Persistence Sample</TITLE></HEAD> <BODY> <TABLE DATASRC="#RDC1" border="1"> <TR> <TD><SPAN DATAFLD="title"></SPAN></TD> <TD><SPAN DATAFLD="price"></SPAN></TD> </TR> </TABLE> <OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID="RDC1"> <PARAM NAME="URL" VALUE="XMLResponse.asp"> </OBJECT> </BODY> </HTML>
关闭 default.htm 文件并将其保存到 XMLResponse.asp 所在的同一文件夹中。
使用 Internet Explorer 4.0 或更高版本,打开 URL
https://<sqlserver>/XMLPersist/default.htm
并观察结果。 数据将显示在绑定的 DHTML 表中。现在打开 URL
https://<sqlserver>/XMLPersist/XMLResponse.asp
并观察结果。 此时将显示 XML。