Exécution de requêtes SQL (fournisseur SQLXMLOLEDB)

S’applique à :SQL ServerAzure SQL Database

Cet exemple illustre l'utilisation des propriétés suivantes spécifiques au fournisseur SQLXMLOLEDB :

  • ClientSideXML

  • xml root

Dans cet exemple d'application ADO côté client, une requête SQL simple est exécutée sur le client. Étant donné que la propriété ClientSideXML a la valeur True, l’instruction SELECT sans la clause FOR XML est envoyée au serveur. Le serveur exécute la requête et retourne un ensemble de lignes au client. Le client applique ensuite la transformation FOR XML à l'ensemble de lignes et génère un document XML.

La propriété racine xml fournit l’élément racine de niveau supérieur unique pour le document XML généré.

Notes

Dans le code, vous devez fournir le nom du instance de Microsoft SQL Server dans la chaîne de connexion. En outre, cet exemple spécifie l’utilisation du SQL Server Native Client (SQLNCLI11) pour le fournisseur de données, ce qui nécessite l’installation d’un logiciel client réseau supplémentaire. Pour plus d’informations, consultez Configuration requise pour 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