Compartilhar via


Executando consultas SQL (provedor SQLXMLOLEDB)

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

  • ClientSideXML

  • xml root

Neste aplicativo de exemplo 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 será enviada ao servidor. O servidor executa a consulta e retorna um conjunto de linhas para o cliente. O cliente aplica a transformação de FOR XML ao conjunto de linhas e produz um documento XML.

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

ObservaçãoObservação

No código, é necessário fornecer o nome da instância do Microsoft SQL Server na cadeia de conexão. Este exemplo também especifica o uso do SQL Server Native Client (SQLNCLI10) para o provedor de dados, o que requer a instalação adicional do software cliente da rede. Para obter mais informações, consulte Requisitos de sistema do SQL Server 2008 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=SQLNCLI10;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