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.
Antes de implementar la extensión de procesamiento de datos de SQL Server Reporting Services, debe 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 puede que simplemente quiera centrar la implementación en un subconjunto, como las IDataReader interfaces y 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 extensiones de procesamiento de datos de una de estas dos maneras:
Las clases de extensión de procesamiento de datos pueden implementar las interfaces del proveedor de datos de Microsoft .NET Framework y, opcionalmente, las interfaces de extensión de procesamiento de datos extendidas proporcionadas por Reporting Services.
Las clases de extensión de procesamiento de datos pueden implementar las interfaces de extensión de procesamiento de datos proporcionadas por Reporting Services y, opcionalmente, las interfaces extendidas de extensión de procesamiento de datos.
Si la extensión de procesamiento de datos de Reporting Services no admitirá 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 sin operación de una propiedad o método solo se aplica a las propiedades y métodos de esas interfaces que elija implementar. Las interfaces opcionales que elija no implementar deben dejarse fuera del ensamblado de extensión de procesamiento de datos. Para obtener más información sobre si una interfaz es necesaria o opcional, consulte la tabla más adelante en esta sección.
Funcionalidad de extensión necesaria
Cada extensión de procesamiento de datos de Reporting Services debe proporcionar la siguiente funcionalidad:
Abra una conexión a un origen de datos.
Analice una consulta y devuelva una lista de nombres de campo para el conjunto de resultados.
Ejecute una consulta en el origen de datos y devuelva un conjunto de filas.
Pase parámetros de valor único a la consulta.
Recorrer en iteración las filas del conjunto de filas y recuperar datos.
Cada extensión de procesamiento de datos se puede ampliar para incluir la siguiente funcionalidad:
Analice una consulta y devuelva una lista de nombres de parámetros usados en la consulta.
Analice una consulta y devuelva la lista de campos por los que se agrupa la consulta.
Analice una consulta y devuelva la lista de campos por los que se ordena la consulta.
Proporcione un nombre de usuario y una contraseña para conectarse al origen de datos que sea independiente de la cadena de conexión.
Recorrer en iteración las filas del conjunto de filas y recuperar metadatos auxiliares sobre los valores de datos.
Agregue datos en el servidor.
Interfaces de extensión disponibles
En la tabla siguiente se describen las interfaces disponibles y si la implementación es necesaria o opcional.
| Interfaz | Descripción | Implementación |
|---|---|---|
| IDbConnection | Representa una sesión única con un origen de datos. En el caso de un sistema de base de datos cliente/servidor, la sesión puede ser equivalente a una conexión de red al servidor. | Obligatorio |
| IDbConnectionExtension | Representa propiedades de conexión adicionales que las extensiones de procesamiento de datos de SSRS pueden implementar con respecto a la seguridad y la autenticación. | Opcional |
| IDbTransaction | Representa una transacción local. | Obligatorio |
| IDbTransactionExtension | Representa propiedades de transacción adicionales que las extensiones de procesamiento de datos de SSRS pueden implementar. | Opcional |
| IDbCommand | Representa una consulta o un comando que se usa cuando se conecta a un origen de datos. | Obligatorio |
| IDbCommandAnalysis | Representa información adicional de comandos para analizar una consulta y devolver una lista de nombres de parámetros usados en la consulta. | Opcional |
| IDataParameter | Representa un par de parámetros o nombre/valor que se pasa a un comando o consulta. | Obligatorio |
| IDataParameterCollection | Representa una colección de todos los parámetros relevantes para un comando o consulta. | Obligatorio |
| IDataReader | Proporciona un método para leer un flujo de datos de solo avance y de solo lectura del origen de datos. | Obligatorio |
| IDataReaderExtension | Proporciona un método para leer uno o varios flujos de conjuntos de resultados de solo avance, obtenidos mediante la ejecución de un comando en un origen de datos. Esta interfaz proporciona compatibilidad adicional con agregados de campo. | Opcional |
| 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 localizado para la extensión y pasar los valores de 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 de .NET Framework siempre que sea posible. Para obtener más información sobre cómo implementar un proveedor de datos completo de .NET Framework, vea "Implementación de un proveedor de datos de .NET Framework" en la documentación del Kit de desarrollo de software (SDK) de .NET Framework.
Véase también
Extensiones de Reporting Services
Implementación de una extensión de procesamiento de datos
Biblioteca de extensiones de Reporting Services