Выполнение запросов SQL (поставщик SQLXMLOLEDB)

Этот пример показывает использование следующих свойств SQLXMLOLEDB, определяемых поставщиком.

  • ClientSideXML

  • xml root

В этом образце клиентского приложения ADO на стороне клиента выполняется простой SQL-запрос. Поскольку свойство ClientSideXML имеет значение True, на сервер отправляется инструкция SELECT без предложения FOR XML. Сервер выполняет запрос и возвращает клиенту набор строк. Затем клиент применяет к набору строк преобразование FOR XML и создает XML-документ.

Свойство xml root предоставляет один корневой элемент верхнего уровня для создаваемого XML-документа.

ПримечаниеПримечание

В коде необходимо задать имя экземпляра Microsoft SQL Server в строке соединения. Кроме того, в данном примере задается использование собственного клиента SQL Server (SQLNCLI10) для поставщика данных, для которого необходимо установить дополнительное клиентское сетевое ПО. Дополнительные сведения см. в разделе Требования к системе для собственного клиента SQL Server R2.

Option Explicit
Sub main()
Dim oTestStream As New ADODB.Stream
Dim oTestConnection As New ADODB.Connection
Dim oTestCommand As New ADODB.Command

oTestConnection.Open "provider=SQLXMLOLEDB.4.0;data provider=SQLNCLI10;data source=SqlServerName;initial catalog=AdventureWorks2008R2;Integrated Security=SSPI ;"
oTestCommand.ActiveConnection = oTestConnection
oTestCommand.Properties("ClientSideXML") = True
oTestCommand.CommandText = "SELECT TOP 10 FirstName, LastName FROM Person.Person FOR XML AUTO"
oTestStream.Open
oTestCommand.Properties("Output Stream").Value = oTestStream
oTestCommand.Properties("xml root") = "root"
oTestCommand.Execute , , adExecuteStream

oTestStream.Position = 0
oTestStream.Charset = "utf-8"
Debug.Print oTestStream.ReadText(adReadAll)
End Sub
Sub Form_Load()
 main
End Sub