Share via


Preparación para implementar una extensión de procesamiento de datos

Antes de implementar la extensión de procesamiento de datos de SQL Server Reporting Services, debería definir las interfaces que se van a implementar. Es posible que quiera proporcionar implementaciones específicas de la extensión de todo el conjunto de interfaces, o quizá quiera centrar la implementación en un subconjunto, como las IDataReader interfaces e en las que los clientes interactuarían principalmente con un conjunto de resultados como un objeto DataReader y usarían la extensión de procesamiento de datos SSRS como un puente entre el conjunto de resultados y IDbCommand el origen de datos.

Puede implementar las extensiones de procesamiento de datos de una de dos maneras:

  • Las clases de extensión de procesamiento de datos pueden implementar las interfaces del proveedor de datos Microsoft .NET Framework y, opcionalmente, las interfaces de extensión de procesamiento de datos extendidas que proporciona Reporting Services.

  • Las clases de extensión de procesamiento de datos pueden implementar las interfaces de extensión de procesamiento de datos que proporciona Reporting Services y, opcionalmente, las interfaces de extensión de procesamiento de datos extendidas.

Si la extensión de procesamiento de datos de Reporting Services no admite una propiedad o método determinado, implemente la propiedad o el método como sin operación. Si un cliente espera un comportamiento determinado, inicie una excepción NotSupportedException.

Nota

Una implementación no-operación de una propiedad o método solo se aplica a las propiedades y métodos de las interfaces que decida implementar. Las interfaces opcionales que decida no implementar se deberían omitir del ensamblado de extensión de procesamiento de datos. Para obtener más información sobre si se requiere una interfaz o es opcional, vea la tabla posteriormente en esta sección.

Funcionalidad de extensión necesaria

Cada extensión de procesamiento de datos de Reporting Services debe proporcionar la funcionalidad siguiente:

  • Abrir una conexión con un origen de datos.

  • Analizar una consulta y devolver una lista de nombres del conjunto de resultados.

  • Ejecutar una consulta en el origen de datos y devolver un conjunto de filas.

  • Pasar los parámetros de un solo valor a la consulta.

  • Recorrer las filas del conjunto de filas y recuperar los datos.

Cada extensión de procesamiento de datos se puede extender para incluir la funcionalidad siguiente:

  • Analizar una consulta y devolver una lista de los nombres de parámetro utilizados en la consulta.

  • Analizar una consulta y devolver la lista de campos por los que la consulta se agrupa.

  • Analizar una consulta y devolver la lista de campos por los que la consulta se ordena.

  • Proporcionar un nombre de usuario y una contraseña para conectarse al origen de datos que es independiente de la cadena de conexión.

  • Recorrer en iteración las filas del conjunto de filas y recuperar los metadatos auxiliares sobre los valores de datos.

  • Agregar datos al servidor.

Interfaces de extensión disponibles

En la tabla siguiente se describen las interfaces disponibles y si se requiere la implementación o es opcional.

Interfaz Descripción Implementación
IDbConnection Representa una sesión única con un origen de datos. En un sistema de base de datos cliente/servidor, la sesión podría ser equivalente a una conexión de red al servidor. Obligatorio
IDbConnectionExtension Representa más propiedades de conexión que las extensiones de procesamiento de datos de SSRS pueden implementar con respecto a la seguridad y la autenticación. Opcionales
IDbTransaction Representa una transacción local. Obligatorio
IDbTransactionExtension Representa más propiedades de transacción que las extensiones de procesamiento de datos de SSRS pueden implementar. Opcionales
IDbCommand Representa una consulta o comando que se utiliza al conectarse a un origen de datos. Obligatorio
IDbCommandAnalysis Representa más información de comandos para analizar una consulta y devolver una lista de nombres de parámetros usados en la consulta. Opcionales
IDataParameter Representa un parámetro o un par de nombre y valor que se pasa a un comando o consulta. Obligatorio
IDataParameterCollection Representa una colección de todos los parámetros pertinentes para un comando o consulta. Obligatorio
IDataReader Proporciona un método para leer un flujo de solo lectura y solo avance de datos del origen de datos. Obligatorio
IDataReaderExtension Proporciona un método para leer uno o varios flujos de solo avance de conjuntos de resultados, obtenidos al ejecutar un comando en un origen de datos. Esta interfaz proporciona mayor compatibilidad con agregados de campo. Opcionales
IExtension Proporciona la clase base para una extensión de procesamiento de datos de Reporting Services. También permite a un implementador incluir un nombre traducido para la extensión y pasar la configuración del archivo de configuración a la extensión. Obligatorio

Las interfaces de extensión de procesamiento de datos son idénticas a un subconjunto de las interfaces, métodos y propiedades del proveedor de datos .NET Framework, siempre que sea posible. Para obtener más información sobre cómo implementar un proveedor de datos .NET Framework completo, vea el tema sobre la implementación de un proveedor de datos .NET Framework en la documentación del kit de desarrollo de software (SDK) de .NET Framework.