Compartilhar via


Cenário de persistência do conjunto de registros XML

Nesse cenário, você criará um aplicativo ASP (Active Server Pages) que salva o conteúdo de um objeto Recordset diretamente no objeto Response do ASP.

Observação

Esse cenário exige que o servidor tenha o IIS (Servidor de Informações da Internet) 5.0 ou posterior instalado.

O Recordset retornado é exibido no Internet Explorer usando um Objeto DataControl (RDS).

As seguintes etapas são necessárias para criar este cenário:

  • Configurar o aplicativo

  • Obter os dados

  • Enviar os dados

  • Receber e exibir os dados

Etapa 1: configurar o aplicativo

Crie um diretório virtual do IIS chamado "XMLPersist" com permissões de script. Crie dois novos arquivos de texto na pasta para a qual o diretório virtual aponta, um chamado "XMLResponse.asp", o outro chamado "Default.htm".

Etapa 2: obter os dados

Nesta etapa, você vai escrever o código para abrir um Recordset do ADO e se preparar para enviá-lo ao cliente. Abra o arquivo XMLResponse.asp com um editor de texto, como o Bloco de Notas, e insira o código a seguir.

<%@ 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  

Certifique-se de alterar o valor do parâmetro Data Source no strCon para o nome do computador com Microsoft SQL Server.

Mantenha o arquivo aberto e vá para a próxima etapa.

Etapa 3: enviar os dados

Agora que você tem um Recordset, envie-o para o cliente salvando-o como XML no objeto Response do ASP. Adicione o código a seguir à parte inferior do 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 o objeto Response do ASP é especificado como o destino de Save Method do Recordset. O destino de Save Method pode ser qualquer objeto que dê suporte à interface IStream, como um Objeto Stream (ADO) do ADO ou um nome de arquivo que inclui o caminho completo para o qual o Recordset deve ser salvo.

Salve e feche XMLResponse.asp antes de ir para a próxima etapa. Copie também o arquivo adovbs.inc da pasta de instalação da biblioteca do ADO padrão para a mesma pasta em que você salvou o arquivo XMLResponse.asp.

Etapa 4: receber e exibir os dados

Nesta etapa, você criará um arquivo HTML com um Objeto DataControl (RDS) inserido que aponta para o arquivo XMLResponse.asp para obter o Recordset. Abra default.htm com um editor de texto, como o Bloco de Notas, e adicione o código a seguir. Substitua "sqlserver" na URL pelo nome do 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>  

Feche o arquivo default.htm e salve-o na mesma pasta em que você salvou XMLResponse.asp. Usando o Internet Explorer 4.0 ou posterior, abra a URL https://sqlserver/XMLPersist/default.htm e observe os resultados. Os dados são exibidos em uma tabela DHTML limitada. Abra a URL https:// sqlserver /XMLPersist/XMLResponse.asp e observe os resultados. O XML é exibido.

Consulte Também

Método Save
Persistência de registros em formato XML