Compartilhar via


Executando consultas SQL (provedor SQLXMLOLEDB)

Este exemplo ilustra o uso das seguintes propriedades específicas do provedor SQLXMLOLEDB:

  • ClientSideXML

  • raiz xml

Neste aplicativo de exemplo do ADO do lado do cliente, uma consulta SQL simples é executada no cliente. Como a propriedade ClientSideXML está definida como True, a instrução SELECT sem a cláusula FOR XML é enviada ao servidor. O servidor executa a consulta e retorna um conjunto de linhas para o cliente. Em seguida, o cliente aplica a transformação FOR XML ao conjunto de linhas e produz um documento XML.

A propriedade raiz xml fornece o único elemento raiz de nível superior para o documento XML gerado.

Observação

No código, você deve fornecer o nome da instância do Microsoft SQL Server na cadeia de conexão. Além disso, este exemplo especifica o uso do SQL Server Native Client (SQLNCLI11) para o provedor de dados, o que exige a instalação de software cliente de rede adicional. Para obter mais informações, consulte Os Requisitos do Sistema para o SQL Server Native Client.

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