Share via


Implementación de una clase Conectar ion para una extensión de procesamiento de datos

El objeto Connection representa una conexión a bases de datos o un recurso similar, y es el punto inicial para los usuarios de una extensión de procesamiento de datos de SQL Server Reporting Services. Representa las conexiones a los servidores de bases de datos, aunque cualquier entidad con un comportamiento similar se puede exponer como Connection.

Para implementar un objeto Connection, cree una clase que implemente IDbConnection y que implemente opcionalmente IDbConnectionExtension.

En la implementación debe asegurarse de que se crea y se abre una conexión para que se puedan ejecutar los comandos. Asegúrese de que la implementación requiere que los clientes abran y cierren las conexiones explícitamente, en lugar de hacer que abra y cierre las conexiones para el cliente de forma implícita. Realice comprobaciones de seguridad cuando se obtenga la conexión. Requerir una conexión existente para las otras clases de la extensión de procesamiento de datos de SSRS garantiza que las comprobaciones de seguridad siempre se realizan al trabajar con el origen de datos.

Las propiedades de la conexión deseada se representan como una cadena de conexión. Las extensiones de procesamiento de datos de SSRS deben admitir la ConnectionString propiedad mediante el conocido sistema de pares nombre-valor definido por OLE DB.

Nota:

Para obtener objetos Connection, a menudo se necesitan muchos recursos, de modo que puede ser conveniente que considere agrupar las conexiones u otras técnicas para mitigar esto.

IDbConnection hereda de IExtension. Debe implementar la interfaz IExtension como parte de la implementación de la clase de conexión. La interfaz IExtension permite a una clase implementar un nombre de extensión localizado y procesar la información de configuración específica de la extensión que se almacena en el archivo de configuración de Reporting Services.

El objeto Connection contiene la propiedad LocalizedName a través de su implementación de IExtension. Las extensiones de procesamiento de datos de Reporting Services deben admitir la LocalizedName propiedad . La compatibilidad permite a los usuarios encontrar un nombre conocido y localizado para la extensión en una interfaz de usuario, como el Administrador de informes.

IExtension también permite que el objeto Connection recupere y procese los datos de configuración personalizados que se almacenan en el archivo RSReportServer.config. Para obtener más información acerca de cómo procesar los datos de configuración personalizados, vea el método SetConfiguration.

La clase que implementa IExtension no se descarga de la memoria cuando se descarga el resto de las clases de extensión de procesamiento de datos. Debido a este hecho, puede usar la clase de extensión para almacenar información de estado entre conexiones o para almacenar datos que se pueden almacenar en caché en la memoria. La clase Extension permanece en la memoria siempre que se ejecuta el servidor de informes.

Puede extender la clase Connection para incluir compatibilidad con las credenciales de Reporting Services implementando IDbConnectionExtension. Al implementar las propiedades IntegratedSecurity, UserName y Password de la interfaz IDbConnectionExtension, habilita la casilla Seguridad integrada y los cuadros de texto NombreDeUsuario y Contraseña del cuadro de diálogo Origen de datos del Diseñador de informes. Esto permite al Diseñador de informes almacenar y recuperar las credenciales de los orígenes de datos que admitan la autenticación. Las credenciales se almacenan seguras y se utilizan al representar los informes en el modo de vista previa.

Nota

Implementar de forma implícita IDbConnectionExtension le exige que implemente los miembros de las interfaces IDbConnection y IExtension.

Para obtener un ejemplo de implementación de clase Conectar ion, vea Ejemplos de Reporting Services en CodePlex (SQL Server Reporting Services SSRS).