Поделиться через


Сценарий сохранения набора записей XML

Область применения: Access 2013, Office 2013

В этом сценарии вы создадите приложение Active Server Pages (ASP), которое сохраняет содержимое объекта Recordset непосредственно в объект ASP Response .

Примечание.

Для этого сценария требуется, чтобы на сервере был установлен Сервер IIS 5.0 (IIS) или более поздней версии.

Возвращаемый набор записей отображается в Internet Explorer с помощью RDS. DataControl.

Для создания этого сценария необходимо выполнить следующие действия.

  1. Настройте приложение.
  2. Получение данных.
  3. Отправка данных.
  4. Получение и отображение данных.

Шаг 1. Настройка приложения

  1. Создайте виртуальный каталог IIS с именем XMLPersist с разрешениями скрипта.

  2. Создайте два новых текстовых файла в папке, на которую указывает виртуальный каталог: один с именем XMLResponse.asp, а другой с именемDefault.htm.

Шаг 2. Получение данных

На этом шаге вы напишете код, чтобы открыть набор записей ADO и подготовиться к его отправке клиенту.

  1. Откройте файл XMLResponse.asp в текстовом редакторе, например в Блокноте Windows, и вставьте следующий код:

    
         <%@ 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 
    
  2. Обязательно измените значение параметра Data Source в strCon на имя компьютера Microsoft SQL Server.

  3. Оставьте файл открытым и перейдите к следующему шагу.

Шаг 3. Отправка данных

Теперь, когда у вас есть набор записей, необходимо отправить его клиенту, сохранив его в виде XML в объекте ASP Response .

  1. Добавьте следующий код в нижнюю часть 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 , или имя файла, включающее полный путь к которому должен быть сохранен набор записей .

  2. Сохраните и закройте XMLResponse.asp перед переходом к следующему шагу. Кроме того, скопируйте файл adovbs.inc из папки C:\Program Files\Common Files\System\Ado в ту же папку, в которой есть файл XMLResponse.asp.

Шаг 4. Получение и отображение данных

На этом шаге вы создадите HTML-файл с внедренным RDS. Объект DataControl , указывающий на XMLResponse.asp файл для получения набора записей.

  1. Откройте default.htm с помощью текстового редактора, например Блокнот Windows, и добавьте следующий код. Замените "sqlserver" в URL-адресе именем компьютера сервера.

    
     <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> 
    
  2. Закройте файл default.htm и сохраните его в той же папке, в которой вы сохранили XMLResponse.asp.

  3. С помощью Internet Explorer 4.0 или более поздней версии откройте URL-адрес https://<sqlserver>/XMLPersist/default.htm и просмотрите результаты. Данные отображаются в связанной таблице DHTML.

  4. Теперь откройте URL-адрес https://<sqlserver>/XMLPersist/XMLResponse.asp и просмотрите результаты. Отобразится XML-код.