sábado, 2 de agosto de 2014

Conectar un objeto de una base de datos a Crystal Reports

Crystal Reports permite conectar tres tipos de objetos de base de datos, tablas, vistas y procedimientos almacenados, para realizar la conexión se elige Database y se pulsa en Database expert.

Abrir Database Expert de Crystal Reports


Si previamente no le hemos definido una conexión a Base de Datos nos sale una pantalla con las DSN del ODBC, en nuestro caso hemos creado una DSN llamada informes que tira de la base de datos deseada.

DSN de informes para Crystal Reports

Si sólo tenemos un servidor y una base de datos no habrá problemas,  pero si previamente hemos conectado nuestro DSN con otro servidor, este ha podido quedar apuntando al otro servidor por lo que al intentar añadir un objeto desde nuestro DSN al dar al botón Next nos sale este problema de conexión:


Error al conectar Crystal Reports con una Base de Datos


Para solucionarlo tenemos que reconfigurar nuestro DSN del ODBC llamado Informes para que se conecte al servidor y a la base de datos correcta,  esto se explica en este artículo.

Hecho esto, al seguir los mismos pasos que antes en vez de salir un error nos saldrán los objetos de nuestra Base de Datos, al pulsar el botón > nos añade el objeto.

añadir una tabla de una Base de Datos a Crystal Reports

Ya podemos poner el objeto en el informe y añadir sus campos

Campos de una tabla en Crystal Reports

El objeto añadido desde una Base de Datos además de una tabla también puede ser una vista o un  procedimiento almacenado con parámetros, al añadir este último nos pedirá los valores por defecto de los parámetros y estos aparecerán en Parameter Fieds.
Para ello pulsamos de nuevo DatabaseExpert.

Añadir procedimiento almacenado a Crystal Reports

Elegimos procedimientos almacenados y damos OK, ahora en vez de aparecer el objeto inmediatamente, nos pide los valores por defecto de los parámetros.
Parámetros por defecto de procedimientos almacenados en Crystal Reports

En la casilla Discrete Value ponemos el valor para cada parámetro y OK con lo que ahorra ya si podemos ver el procedimiento insertado.

Procedimiento almacenado insertado en Crystal reports

Ahora en el explorador de campos podemos ver los campos del procedimiento almacenado (en Database Fields)  y además sus parámetros de entrada (en Parameter Fields)

Ver parámetros de un sp en crystal

Ya podemos añadir los campos del objeto al informe. Hay que tener en cuenta que si tiene parámetros de entrada habrá que proporcionárselos por código o manualmente cada vez que se va a ejecutar el informe.

No hay comentarios:

Publicar un comentario