Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: November 2007
Microsoft SQL Server 2000 ha introducido la compatibilidad con la funcionalidad XML al recuperar datos. Para permitirle devolver una secuencia XML directamente desde SQL Server 2000, el objeto SqlCommand del proveedor de datos de .NET Framework para SQL Server dispone del método ExecuteXmlReader. ExecuteXmlReader devuelve un objeto System.Xml.XmlReader rellenado con los resultados de la instrucción SQL especificada para un SqlCommand. Para obtener información acerca del XmlReader, veaClase XmlReader. ExecuteXmlReader sólo puede utilizarse con una instrucción que devuelva resultados como datos XML, como instrucciones que incluyan la cláusula FOR XML de SQL Server 2000, como se muestra en el siguiente ejemplo.
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();
El DataSet también se puede utilizar para escribir datos relacionales como XML y se puede sincronizar con un XmlDataDocument para proporcionar una vista relacional y jerárquica en tiempo real de un único conjunto de datos en memoria. Para obtener más información, vea Rellenar un objeto DataSet desde un objeto DataAdapter (ADO.NET) y Utilizar XML en un DataSet (ADO.NET).
Si no es necesario una vista relacional en memoria de los datos mediante el DataSet, el método ExecuteXmlReader resulta muy adecuado para recuperar datos XML, en especial para grandes cantidades de datos. Como ExecuteXmlReader es una API de transmisión, no tiene que recuperar ni almacenar en caché todos los datos antes de exponerlos a la persona que llama, como sería el caso si se utilizara un DataSet para convertir datos relacionales en XML.
Cierre de XmlReader
Siempre debe llamar al método Close cuando haya terminado de utilizar el objeto XMLReader. Mientras está abierto un XMLReader, éste utiliza de forma exclusiva el objeto Connection. No se podrá ejecutar ningún comando para el objeto Connection hasta que se cierre el XMLReader original, incluida la creación de otro XmlReader o DataReader.