Share via


Crear conjuntos de datos de informe a partir de datos XML

Reporting Services proporciona una extensión de procesamiento de datos que admite la recuperación de datos de informe desde un origen de datos XML. Los informes pueden utilizar datos de documentos XML y servicios Web, o incrustar XML en la consulta. No hay compatibilidad integrada para recuperar documentos XML desde una base de datos de SQL Server.

Conectar con un origen de datos XML y recuperar datos

Para recuperar datos XML en un informe, cree un origen de datos con una cadena de conexión que especifique una dirección URL a un servicio web o a un documento XML. También puede crear un origen de datos con una cadena de conexión vacía e incrustar los datos XML en la consulta de conjunto de datos.

Cada origen de datos XML debe tener las características siguientes:

  • El tipo de origen de datos debe ser XML. Reporting Services incluye una extensión de procesamiento de datos XML para recuperar y procesar los datos de un informe.

  • Debe configurar credenciales para la seguridad integrada de Windows o no usar credenciales.

    Las credenciales almacenadas o solicitadas no están admitidas. Recuerde que si deshabilita la seguridad integrada de Windows, no podrá usarla para recuperar datos. Si especifica credenciales almacenadas o solicitadas, se producirá un error en tiempo de ejecución.

    Si no especifica credenciales, se utilizará el acceso anónimo. Asegúrese de haber definido la cuenta de ejecución desatendida para que el servidor de informes se conecte a un origen de datos externo. La extensión de procesamiento de datos XML no pasa credenciales a la dirección URL de destino ni al servicio web; la conexión no se realizará correctamente a menos que haya definido la cuenta de ejecución desatendida. Para obtener más información, vea Configurar la cuenta de ejecución desatendida.

  • La cadena de conexión debe ser una dirección URL que señale al servicio Web, la aplicación basada en Web o el documento XML disponible a través de HTTP. Los documentos XML deben tener la extensión XML. También se puede utilizar una cadena de conexión vacía si se van a incrustar datos XML en la consulta del conjunto de datos.

  • La consulta debe devolver datos XML. En el caso de los documentos XML, se puede proporcionar una ruta de acceso de elemento con sintaxis XML similar a XQuery, tal como se describe en Sintaxis de ruta de acceso de elemento para especificar datos de informe XML. Para un servicio Web, se puede proporcionar un elemento <Query> que especifique un método al que se debe llamar o una acción SOAP. Es posible dejar la consulta vacía y utilizar la consulta predeterminada si el origen de datos XML tiene una estructura jerárquica que genera los datos que se desea utilizar en el informe. Los valores y los atributos de los nodos de elemento XML recuperados cuando se ejecuta la consulta se asignan a los campos de conjunto de datos que se usan en el informe.

  • Debe usar el diseñador de consultas basado en texto para crear la consulta. La consulta no se analiza para identificar parámetros, por lo que es necesario crearlos a través de la página Parámetro del cuadro de diálogo Propiedades del conjunto de datos. Para obtener más información acerca de la sintaxis de consulta, vea Sintaxis de consulta XML para especificar datos de informe XML. Para obtener más información acerca del diseñador de consultas genérico, vea Herramientas de diseño de consultas en Reporting Services.

Cadenas de conexión para orígenes de datos XML

Los ejemplos siguientes muestran la sintaxis de cadena de conexión para un servicio web y un documento XML, respectivamente. No se admite el protocolo file://.

Tipo de documento XML

Ejemplo de cadena de conexión

Servicio Web

http://adventure-works.com/results.aspx

Documento XML

https://localhost/XML/Customers.xml

Documento XML incrustado

Vacía

Para obtener más información acerca de cómo definir un origen de datos, vea Cómo crear un origen de datos incrustado o compartido.

Consultas de conjuntos de datos con orígenes de datos XML

Un conjunto de datos incluye una consulta, que es el texto del comando que se ejecuta en un origen de datos para recuperar un conjunto de resultados específico. El conjunto de resultados hace referencia a la colección de campos de un conjunto de datos. Para limitar los resultados devueltos desde el origen de datos, se pueden establecer valores de filtro en el conjunto de datos. En la tabla siguiente se muestran los posibles valores de una consulta de conjunto de datos para un origen de datos de tipo XML.

Consulta de conjunto de datos

Descripción

Vacía

Use una consulta vacía para crear un conjunto de resultados predeterminado. Para crear la consulta predeterminada se lee el origen de datos y se recorre la jerarquía de nodos XML hasta la primera colección de nodos hoja. El conjunto de resultados incluye todos los nodos con valores de texto y todos los atributos de nodo encontrados en el recorrido. Las columnas del conjunto de resultados hacen referencia a los campos del conjunto de datos.

Una ruta de acceso de elemento

Especifica la secuencia de nodos que se debe utilizar al recuperar datos XML del origen de datos.

Un elemento de consulta XML

Una especificación de consulta XML con los siguientes elementos opcionales.

Origen de datos XMLElementos XML obligatoriosElementos XML opcionales
Para un servicio web <Method Namespace= "espacio de nombres" Name="MethodName" /> -- or -- <SoapAction> acción soap </SoapAction> <ElementPath> ruta de acceso de elemento </ElementPath> <Method Namespace= "espacio de nombres" Name="MethodName" /> -- or -- <SoapAction> acción soap </SoapAction>
Para un documento XML <ElementPath> ruta de acceso de elemento </ElementPath>
Para un documento XML incrustado <XmlData> XML interno </XmlData> <ElementPath> ruta de acceso de elemento </ElementPath> -- or -- <ElementPath IgnoreNamespaces="true"> ruta de acceso de elemento </ElementPath>

Para especificar espacios de nombres, use el elemento de consulta XML; para pasarlos por alto, use el atributo IgnoreNamespaces en el elemento ElementPath de XML. Para obtener más información acerca del elemento de consulta XML, vea Sintaxis de consulta XML para especificar datos de informe XML. Para obtener más información acerca de la sintaxis de ruta de acceso de elemento, vea Sintaxis de ruta de acceso de elemento para especificar datos de informe XML.

Requisitos para recuperar datos del servicio Web XML

La extensión de procesamiento de datos XML no detecta el esquema de forma automática. Por tanto, debe tener alguna manera de determinar los métodos SOAP que recuperarán los datos que desea. También debe comprender el esquema de direcciones o el espacio de nombres que utiliza el servicio Web para sus datos.

Requisitos para recuperar datos de un documento XML

El servidor debe devolver los datos XML mediante el protocolo HTTP o los datos XML deben estar incrustados en el elemento XML Query. Si se hace referencia directa a un documento XML mediante el protocolo HTTP, la extensión debe ser .xml. Debe saber cómo crear una consulta XML que recupere todos los datos que necesita. Si no especifica la ruta de un elemento, el comportamiento predeterminado para analizar un documento XML consiste en seleccionar la primera ruta disponible a una colección de nodos hoja en el documento XML. Si el documento XML incluye rutas de acceso adicionales a otras colecciones de nodos hoja del mismo nivel, dichos nodos se omitirán a menos que se especifique una ruta de acceso en la consulta. Para obtener más información, vea Sintaxis de ruta de acceso de elemento para especificar datos de informe XML.