Ver Mensaje Individual
  #475 (permalink)  
Antiguo 22/02/2006, 03:41
pacowar
 
Fecha de Ingreso: noviembre-2005
Mensajes: 10
Antigüedad: 18 años, 6 meses
Puntos: 0
Cita:
Iniciado por XenonCC
Buenas, ante todo felicidades por el desarrollo de este foro que ha sido pilar fundamental para crear mis primeros reportes con ireport.

Llevo a penas 3 días con el, pero me gustaría saber (sobretodo por requerimientos de tiempo en el desarroyo del proyecto) si es posible o no lo es hacer lo siguiente con ireport + jasperreport.

Mi problema es el siguiente:
La aplicación es una aplicación web que utiliza spring, desplegada en un servidor Tomcat.
Mi manera de trabajar es la siguiente. Diseño el reporte con ireport y luego creo el .jasper y lo relleno desde la aplicación (con la ayuda de los posts que hay en este foro). Le suministro la ruta del jasper, el Map con los parametros y una Connection.

El problema llega cuando (por requerimiento) necesito crear un reporte en una misma pagina con dos conexiones distintas... Es más necesito ejecutar 2 consultas en oracle y una en postgresql para poder mostrar los datos necesarios.

He intentado utilizar subreportes y suministrar la conexión por parametro y que sea el padre quien le suministre dicha conexión. Sin embargo tampoco me funciona de ese modo.

Si hubiera alguna forma de establecer las consultas y/o las conexiones que estaría muy bien, pero iReport parace que solo puede mantener una por reporte. Y al trabajar con subreportes solo me mantiene una de las conexiones al generar el pdf.


La verdad es que admitiria cualquier tipo de sugerencia. Sencillamente si hay algún modo de poder consultar a distintas bases de datos desde un reporte me vendría de perlas. Y si no, por lo menos, saber si es posible o bien estoy en busqueda del santo grial.

Un saludo y gracias de antemano.
igual que yo he creado diferentes datasources para los subreports, tendría que haber manera de pasarle diferntes conexiones para cada subreport si quieres.

En el HashMap prueba de pasarle una conexion
parameters.put("MiConexion", conn);

Luego en el Master Report te creas un parámetro que se llame "MiConexion" y en el Parameter class Type le dices que es de tipo Connection. (Aunque no salga en el listado tu le puedes poner un tipo de dato. Yo en mi caso puse que era de tipo dataSource)

Luego create el subreport en el Master Report y en la pestaña de Subreport le dices que usará una expresión de tipo conexión y le pasas el parámetro que creaste antes $P{MiConexion}. Luego en Subreport(Others) has de poner la información necesaria para que carge tu subreport, que eso da igual que sea de tipo conexión o usando un datasource, no cambia.

Te aviso que no se si funciona. Así es como lo he hecho yo pero en vez de usar conexiones he usado datasources y funciona bien. Espero que te funcione, saludos!