ejecutar un informe desde línia de comanda

Dado que un .rptdesign es un elemento autónomo, que solo requiere para ejecutarlo y btener un informe, de la existencia de un runtime birt (este a su vez requiere un runtime java), podemos lanzar informes directamente desde linia de comanda. Por ejemplo, suponiendo que en c:\carpeta1\birt442 tenemos el runtime de versión 4.4.2, y queremos obtener un informe pdf a partir del diseño c:\carpeta1\prueba.rptdesign 
 

La manera en que birt analiza la comanda es muy fragil y caprichosa (por decirlo de alguna manera). Cosas a tener en cuenta son:
– no le gustan los guiones bajos en las rutas
– no le gusta que le cambien mucho el orden de los flags (por ejemplo, mejor que –file sea el ultimo)
– aunque funciona, muestra una traza de error grave quejandose de la inexistencia de una ruta (en el caso del ejemplo, de c:\carpeta1) 

Otras consideraciones:
Si prueba.rptdesign accede a bd, en la definición del datasource se habrá definido la cadena de conexión y el jar con los drivers.
Ambos se definen en duro con rutas absolutas. Aunque desde java se pueden cambiar dinámicamente, lanzando la comanda directamente no es posible, por tanto, ambas rutas han d’existir (en el caso de los drivers, aunque no existiese la ruta, si ponemos el jar en la misma carpeta que el .rptdesign, o bien en la carpeta c:\carpet1a\birt442\ReportEngine\lib\, será suficiente).
En el ejemplo hemos utilizado flags -p para un hipotético de parámetros. Naturalmente, si vuestro informe no los usa (creo que lo mas habitual es usarlos) o queréis que apliquen los valores por defecto, se pueden obviar.

Otro día vemos como ejecutar informes desde java.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *