Escenario de persistencia del conjunto de registros XML
En este escenario, creará una aplicación de páginas Active Server (ASP) que guarda el contenido de un objeto Recordset directamente en el objeto Response de ASP.
Nota
Este escenario requiere que el servidor tenga instalado Internet Information Server 5.0 (IIS) o una versión posterior.
El objeto Recordset devuelto se muestra en Internet Explorer mediante un objeto DataControl (RDS).
Los pasos siguientes son necesarios para crear este escenario:
Configuración de la aplicación
Obtención de los datos
Envío de los datos
Recepción y visualización de los datos
Paso 1: Configuración de la aplicación
Cree un directorio virtual de IIS denominado "XMLPersist" con permisos de script. Cree dos archivos de texto en la carpeta a la que apunta el directorio virtual, uno denominado "XMLResponse.asp" y el otro, "Default.htm".
Paso 2: Obtención de los datos
En este paso, escribirá el código para abrir un objeto Recordset de ADO y prepararlo para enviarlo al cliente. Abra el archivo XMLResponse.asp con un editor de texto, como el Bloc de notas, e inserte el código siguiente.
<%@ language="VBScript" %>
<!-- #include file='adovbs.inc' -->
<%
Dim strSQL, strCon
Dim adoRec
Dim adoCon
Dim xmlDoc
' You will need to change "MySQLServer" below to the name of the SQL
' server machine to which you want to connect.
strCon = "Provider=sqloledb;Data Source=MySQLServer;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
Asegúrese de cambiar el valor del parámetro Data Source
en strCon
por el nombre del equipo Microsoft SQL Server.
Mantenga abierto el archivo y vaya al paso siguiente.
Paso 3: Envío de los datos
Ahora que tiene un objeto Recordset, debe enviarlo al cliente guardándolo como XML en el objeto Response de ASP. Agregue el siguiente código al final de 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
%>
Observe que el objeto Response de ASP se especifica como destino del método Save del objeto Recordset. El destino del método Save puede ser cualquier objeto que admita la interfaz IStream, como un objeto Stream de ADO (ADO), o un nombre de archivo que incluya la ruta de acceso completa en la que se va a guardar el objeto Recordset.
Guarde y cierre XMLResponse.asp antes de continuar con el paso siguiente. Copie también el archivo adovbs.inc de la carpeta de instalación de la biblioteca de ADO predeterminada en la misma carpeta donde guardó el archivo XMLResponse.asp.
Paso 4: Recepción y visualización de los datos
En este paso, creará un archivo HTML con un objeto DataControl (RDS) insertado que apunte al archivo XMLResponse.asp para obtener el objeto Recordset. Abra default.htm con un editor de texto, como el Bloc de notas, y agregue el código siguiente. Reemplace "sqlserver" en la dirección URL por el nombre del servidor.
<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>
Cierre el archivo default.htm y guárdelo en la misma carpeta donde guardó XMLResponse.asp. Con Internet Explorer 4.0 o una versión posterior, abra la dirección URL https://sqlserver/XMLPersist/default.htm y observe los resultados. Los datos se muestran en una tabla DHTML enlazada. Ahora abra la dirección URL https:// sqlserver /XMLPersist/XMLResponse.asp y observe los resultados. Se muestra el XML.