Compartir vía


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.

Consulte también

Save (método)
Almacenar registros en formato XML