Compartir a través de


Ejecutar consultas SQL (proveedor SQLXMLOLEDB)

En este ejemplo se muestra el uso de las siguientes propiedades SQLXMLOLEDB específicas del proveedor:

  • ClientSideXML

  • xml root

En esta aplicación de ejemplo ADO de cliente, se ejecuta una consulta SQL simple en el cliente. Dado que la propiedad ClientSideXML está establecida en True, se envía al servidor la instrucción SELECT sin la cláusula FOR XML. El servidor ejecuta la consulta y devuelve un conjunto de filas al cliente. A continuación, el cliente aplica la transformación FOR XML al conjunto de filas y genera un documento XML.

La propiedad xml root proporciona el elemento raíz de nivel superior único para el documento XML que se genera.

[!NOTA]

En el código, debe proporcionar el nombre de la instancia de Microsoft SQL Server en la cadena de conexión. Además, este ejemplo especifica el uso de SQL Server Native Client (SQLNCLI10) para el proveedor de datos, que exige la instalación de software cliente de red adicional. Para obtener más información, vea Requisitos del sistema para 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