Возможности ADO 2.6

В этой версии библиотеки появилась возможность выполнять с помощью объекта Command не только SQL-запросы, но и XML-шаблоны и запросы XPath. Для этого было введено новое свойство Dialect. Далее приведены все известные на сегодняшний момент значения этого свойства [10].

Тип команды Значение в ADO
Запрос Transact-SQL {C8B522D7-5CF3-11CE-ADE5-00AA0044773D}
Запрос XPath {EC2A4293-E898-11D2-B1B7-00C04F680C56}
Запрос в XML-шаблоне {5D531CB2-E6Ed-11D2-B252-00C04F681B71}
Поведение провайдера по умолчанию {C8B521FB-5CF3-11CE-ADE5-00AA0044773D}

Так как результат выполнения объекта Command теперь не всегда может иметь реляционный характер, его нельзя помещать в объект Recordset. Название нового стандартного свойства Output Stream говорит само за себя: результат выполнения объекта Command может быть сохранен в потоке (любом объекте, поддерживающим интерфейс IStream). Кроме этого, поскольку запрос (свойство CommandText) теперь может представлять собой запрос XPath, нужно как-то задать аннотированную схему для него. Это делается с помощью стандартного свойства Mapping Schema. Пора переходить к примерам.

Использование Command для формирования XML-документа на сервере

В этом примере показано, как сформировать XML-документ на сервере и отправить его клиенту с использованием ADO:

<% ' Определяем константы ADO.Const adopenStatic = 3Const adLockReadOnly = 1Const adCmdText = 1Const adPersistXML = 1Const adExecuteStream = &H400 ' создание объектовDim cmd,connSet cmd = Server.CreateObject("ADODB.Command")Set conn = Server.CreateObject("ADODB.Connection") conn.Provider = "sqloledb"conn.Open "Data Source=server;Initial catalog=pubs;", "user", "password" Set cmd.ActiveConnection = conncmd.CommandType = adCmdTextcmd.CommandText = "select au_fname, au_lname, address " _ & "from authors where au_fname like 'M%' for xml auto"cmd.Properties("Output Stream") = Responsecmd.Properties("xml root") = "root"cmd.Execute,, adExecuteStream Set cmd = nothingSet conn = nothing%>

Здесь используется встроенная инструкция FOR XML AUTO для формирования XML-документа на SQL Server’е. В результирующем документе отсутствует корневой элемент, и для его указания используется еще одно стандартное свойство – xml root. В качестве выходного потока был использован объект Response. Результат обращения к этой ASP-страничке вы, наверное, уже давно выучили наизусть: это будет XML-документ с именами, фамилиями и адресами авторов.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: