Сценарий сохраняемости набора записей XML
В этом сценарии вы создадите приложение Active Server Pages (ASP), которое сохраняет содержимое объекта Recordset непосредственно в объект ASP Response.
Примечание
Для этого сценария требуется, чтобы на сервере был установлен internet information Server 5.0 (IIS) или более поздней версии.
Возвращаемый набор записей отображается в Интернете Обозреватель с помощью объекта DataControl (RDS).
Для создания этого сценария необходимо выполнить следующие действия.
Настройка приложения
Получение данных
Отправка данных
Получение и отображение данных
Шаг 1. Настройка приложения
Создайте виртуальный каталог IIS с именем XMLPersist с разрешениями скрипта. Создайте два новых текстовых файла в папке, на которую указывает виртуальный каталог, один с именем "XMLResponse.asp", другой с именем "Default.htm".
Шаг 2. Получение данных
На этом шаге вы напишете код, чтобы открыть набор записей ADO и подготовиться к его отправке клиенту. Откройте файл XMLResponse.asp в текстовом редакторе, например Блокноте, и вставьте следующий код.
<%@ 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
Обязательно измените значение Data Source
параметра в strCon
на имя компьютера Microsoft SQL Server.
Не закрывайте файл и переходите к следующему шагу.
Шаг 3. Отправка данных
Теперь, когда у вас есть набор записей, необходимо отправить его клиенту, сохранив его в виде XML в объекте ASP Response. Добавьте следующий код в конец 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 указан в качестве места назначения для метода Сохранения набора записей. Назначением метода Save может быть любой объект, поддерживающий интерфейс IStream, например объект ADO Stream (ADO), или имя файла, включающее полный путь, в который необходимо сохранить набор записей.
Перед переходом к следующему шагу сохраните и закройте ФАЙЛ XMLResponse.asp. Кроме того, скопируйте файл adovbs.inc из папки установки библиотеки ADO по умолчанию в ту же папку, в которой был сохранен файл XMLResponse.asp.
Шаг 4. Получение и отображение данных
На этом шаге вы создадите HTML-файл со встроенным объектом DataControl Object (RDS), указывающим на файл XMLResponse.asp, чтобы получить набор записей. Откройте default.htm с помощью текстового редактора, например Блокнота, и добавьте следующий код. Замените "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>
Закройте файл default.htm и сохраните его в той же папке, в которой вы сохранили XMLResponse.asp. Используя Internet Обозреватель 4.0 или более поздней версии, откройте URL-адрес https:// sqlserver/XMLPersist/default.htm и просмотрите результаты. Данные отображаются в привязанной таблице DHTML. Теперь откройте URL-адрес https:// sqlserver /XMLPersist/XMLResponse.asp и просмотрите результаты. Отобразится XML-код.