Escenario de persistencia del conjunto de registros XML
En este escenario, creará una aplicación Active Server Pages (ASP) que guarda el contenido de un objeto Recordset directamente en el objeto ASP Response.
Nota
Este escenario requiere que el servidor tenga instalado Internet Information Server 5.0 (IIS) o 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
Obtener los datos
Enviar los datos
Recibir y mostrar los datos
Paso 1: Configurar la aplicación
Cree un directorio virtual de IIS denominado "XMLPersist" con permisos de script. Cree dos nuevos archivos de texto en la carpeta a la que apunta el directorio virtual, uno denominado "XMLResponse.asp", el otro denominado "Default.htm".
Paso 2: Obtener 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 de Microsoft SQL Server.
Mantenga el archivo abierto y continúe con el paso siguiente.
Paso 3: Enviar los datos
Ahora que tiene un objeto Recordset, debe enviarlo al cliente guardándolo como XML en el objeto Asp Response. Agregue el código siguiente a la parte inferior 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 ASP Response se especifica como destino del objeto Recordset Save Method. El destino del método Save puede ser cualquier objeto que admita la interfaz IStream, como un objeto ADO Stream Object (ADO), o un nombre de archivo que incluya la ruta de acceso completa a la que se va a guardar el objeto Recordset.
Guarde y cierre XMLResponse.asp antes de ir al 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: Recibir y mostrar los datos
En este paso creará un archivo HTML con un objeto dataControl (RDS) incrustado objeto que apunta 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 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.