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


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

В этом примере показано использование следующих свойств поставщика SQLXMLOLEDB:

  • ClientSideXML

  • корневой файл XML

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

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

Замечание

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

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=SQLNCLI11;data source=SqlServerName;initial catalog=AdventureWorks;Integrated Security=SSPI ;"  
oTestCommand.ActiveConnection = oTestConnection  
oTestCommand.Properties("ClientSideXML") = True  
oTestCommand.CommandText = "SELECT TOP 10 FirstName, LastName FROM Person.Contact 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