Anexo: Mejoras en el código de conexión a la base de datos
Ha configurado con éxito el código para cambiar la ubicación de la base de datos en tiempo de ejecución. En este ejemplo, es el mismo servidor de base de datos, la única diferencia es que lo ha llamado explícitamente por el nombre.
Sin embargo, ahora puede cambiar esta cadena de nombre servidor de base de datos a cualquier otro servidor de base de datos que contiene la base de datos Northwind. Si utiliza Crystal Reports con Visual Studio 2005 ó 2008, tiene acceso a la API mejorada para conectar con un base de datos segura de SQL Server. La API de Crystal Reports ayuda a reducir la cantidad de código necesario para conectar con la base de datos.
En los procedimientos previos, ha aprendido a crear el método auxiliar SetDBLogonForReport(), que utiliza un bucle foreach para establecer la propiedad ConnectionInfo de cada tabla del informe de Crystal Reports.
En este tutorial, aprenderá a eliminar el método auxiliar y a agregar código para utilizar la clase DataSourceConnections del espacio de nombres CrystalDecisions.Shared, o bien el método SetDatabaseLogon() de la clase ReportDocument.
La clase DataSourceConnections es un ArrayList que contiene las instancias de ConnectionInfo de cada conexión utilizada por el informe de Crystal Reports. Puede recuperar las instancias de ConnectionInfo de un índice especificado y, a continuación, llamara a SetLogon() o SetConnection() para pasar la información de conexión al informe.
El método SetLogon() le permite establecer el nombre de usuario y la contraseña. Este método utiliza el servidor y la base de datos predeterminados especificados en el informe. El método SetConnection() permite establecer los nombres del servidor, de la base de datos y de usuario, así como la contraseña.
Para utilizar el nuevo código de la API, debe seguir las instrucciones de Crear un informe conectado a una base de datos segura de SQL Server y Enlazar el informe.
Después, puede utilizar uno de los siguientes métodos de la API mejorada:
- Utilizar la clase DataSourceConnections para la conexión de base de datos
- Utilizar el método SetDatabaseLogon() de la clase ReportDocument
Si ha seguido todos los procedimientos de Tutorial: Conectar con una base de datos segura de SQL Server utilizando autenticación de SQL, primero debe eliminar algunas líneas de código que se muestran en Modificar el proyecto para la conexión con la base de datos, antes de poder utilizar uno de los métodos de la API mejorada.