Partager via


Données XML dans SQL Server 2000 (ADO.NET)

Microsoft SQL Server 2000 introduit la prise en charge de la fonctionnalité XML lors de l'extraction de données. Pour vous permettre de retourner un flux XML directement à partir de SQL Server 2000, l'objet SqlCommand du fournisseur de données .NET Framework pour SQL Server dispose de la méthode ExecuteXmlReader. ExecuteXmlReader retourne un objet System.Xml.XmlReader rempli avec les résultats de l'instruction SQL spécifiée pour SqlCommand. Pour plus d'informations sur XmlReader, voir XmlReader, classe. ExecuteXmlReader peut uniquement être utilisé avec une instruction qui retourne les résultats sous forme de données XML (instructions qui contiennent la clause FOR XML SQL Server 2000 par exemple), comme le montre l'exemple suivant.

Dim command As SqlCommand = New SqlCommand( _
  "SELECT * FROM Customers FOR XML AUTO, ELEMENTS", connection)

Dim reader As System.Xml.XmlReader = command.ExecuteXmlReader()
SqlCommand command = new SqlCommand(
  "SELECT * FROM Customers FOR XML AUTO, ELEMENTS", connection);

System.Xml.XmlReader reader = command.ExecuteXmlReader();

Le DataSet peut, par ailleurs, être utilisé pour écrire des données relationnelles au format XML et synchronisé avec XmlDataDocument pour fournir une vue relationnelle et hiérarchique en temps réel d'un ensemble unique de données en mémoire. Pour plus d'informations, voir Remplissage d'un DataSet à partir d'un DataAdapter (ADO.NET) et Utilisation de XML dans un DataSet (ADO.NET).

Si une vue relationnelle en mémoire des données faisant appel au DataSet n'est pas nécessaire, la méthode ExecuteXmlReader convient parfaitement à l'extraction des données XML, en particulier s'il s'agit d'un volume important de données. Étant donné que ExecuteXmlReader est une API de flux, il n'a pas à extraire ni à mettre en cache toutes les données avant de les exposer à l'appelant, comme ce serait le cas si un DataSet était utilisé pour convertir les données relationnelles en XML.

Fermeture du XmlReader

Vous devez toujours appeler la méthode Close lorsque vous avez fini d'utiliser l'objet XmlReader. Pendant l'ouverture d'un XmlReader, Connection est utilisé en mode exclusif par ce XmlReader. Vous ne pourrez pas exécuter les commandes pour Connection, y compris la création d'un autre XmlReader ou DataReader, jusqu'à la fermeture du XmlReader d'origine.

Voir aussi

Concepts

Données XML dans SQL Server (ADO.NET)