![]() |
Para Wifer Hola Wifer, aparentemente no veo ningun problema en tu codigo, si tu reporte corre en iReport perfectamente y en JSP no, entonces quedaría por descartar las versiones de los archivos en ambas partes, porq que lo que puede estar sucediendo es que lo estas compilando con una version pero lo intentas visualizar con otra, lo cual, por experiencia, da problemas. Por lo tanto quisiera que verificaras que los *.jar sean los mismos tanto en los directorios iReport\lib como en Tomcat\common\lib Basicamente estos son los archivos que yo utilizo y q necesitas que sean de igual versión en ambas partes son: poi-2.0-final-20040126.jar itext-1.2.jar jasperreports-0.6.5.jar mysql-connector-java-3.1.6-bin.jar (En tu caso sería el de Oracle) luego que las versiones de estos archivos sean iguales reinicia el servidor y prueba a ver y me comentas. Suerte |
Como Pasar la Cosulta completa como parametro? DestruKtor, yo lo intente varias veces pero no pude solucionarlo, el problema es que tienes que tener un parametro tipo String, pero al enviarlo como parametro y al ser de este tipo queda el query de esta manera: 'Select * from...' y lo que pasa entonces es que el ireport no lo toma como un query sino como un literal o string lo cual no es lo q queremos, asi que, mi solución fue que creé tres reportes, en mi caso, como filtros en el sql tengo y de acuerdo a los filtros seleccionados en el jsp mando a ejecutar uno u otro pagina que llama a uno u otro reporte y le paso los parametros. Ejemplo de un query sencillo con dos parametros: tengo un reporte para paises tengo otro para ciudades tengo otro para ciudades y paises se que no es una solucion muy inteligente que se diga, porq realmente debería ser un solo reporte, pero debido a la premura del requerimiento me vi en la obligación de hacerlo de esta manera, y cumple con la funcion, la gran desventaja de esto es, como todo sabemos, el mantenimiento del reporte, si me mandan a agregar, modificar o quitar algo en el reporte, tengo que hacerlo a los tres reportes en vez de uno. Por eso la importancia y mi interes de que si alguien consigue como realizar esto se lo agradeceria ya q me sería de mucha utilidad. Saludos y Suerte. |
DestruKtor, Kangulo Veo que todos teníamos el mismo problema: aparecen las dichosas comillas siples que engloban al parámetro y provocan que falle la query. Creo que he encontrado la solucion en la "JasperAssistant User Guide": si en lugar de usar $P{sql_query} usais $P!{sql_query} desaparecen las comillas por lo que ya no debería producirse el error. Saludos desde España |
Jsp Acano mira mi jsp para que verifique donde esta el error: File reportFile = new File(application.getRealPath("/reportes/oto.jasper")); Map parameters = new HashMap(); byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath (), parameters, conn); response.setContentType("application/pdf"); response.setContentLength(bytes.length); ServletOutputStream ouputStream = response.getOutputStream(); ouputStream.write(bytes, 0, bytes.length); ouputStream.flush(); ouputStream.close(); al principio se presentaban dos errores que eran el mismo tuyo y porque no encuentra la ruta con tu la estas invocando y el otro era en el parametro, ya que habia que definirlo haci no tuviera ninguno. Espero que te sirva, si alguna duda me cuentas. :adios: |
PDF Vacio Hola a todos, estoy ejecutando mi reporte con el siguiente ambiente BDD Oracle. El archivo jasper esta almacenado en una tabla es recuperado por una funcion y enviado hasta el front end por medio de un middle tier construido con EJB. La pagina se ejecuta perfectamente, sin embargo el mismo reporte que al correrlo desde una aplicacion java o desde ireports se presenta bien, al ejecutarlo en la JSP se despiegla vacio, es decir sin contenido? A alguno de ustedes le ha pasado algo similar o tiene alguna idea? Muchas gracias por su ayuda |
Mostrar reporte en el visualizador de iReport Hola Destructor tengo una pequeña pegunta, para mostrar el reporte por medio el visor propio de jasperreport al principio del foro a laraos le distes la indicacion de que con la funcion JasperViewer() y pasandole algunos paramentros lo podría hacer, me gutaria saber como se le envian estos paramentros, estoy trabajando con un jsp. Muchas gracias por tu ayuda. :adios: |
Hola a todos: Yo tb estoy utilizando el jasperReport, al igual q el iReport, utilice el codigo q esta arriba, si me salen los reportes cuando el reporte no necesita parametro, pero los q tienen parametro, me sale error: java.io.FileNotFoundException: D:\PROYECTO\Ferreteria\src\ferreteria\Reportes\R_N otaCompra.jasper at net.sf.jasperreports.engine.util.JRLoader.loadObje ct(JRLoader.java:74) at net.sf.jasperreports.engine.JasperFillManager.fill Report(JasperFillManager.java:162) Espero q me puedan ayudar |
No entiendo porque, sigo sin solucionarlo Por favor Destruktor aver si tu o alguien puede ayudarme. Antes de nada darte las gracias STAVERA pero me sigue dando el mismo error, teniendo exactamente el mismo codigo, no lo entiendo. Este es mi codigo: File reportFile = new File(application.getRealPath("/reports/EntradasN.jasper")); Map parameters = new HashMap(); byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath (),parameters,conn); response.setContentType("application/pdf"); response.setContentLength(bytes.length); ServletOutputStream ouputStream = response.getOutputStream(); ouputStream.write(bytes, 0, bytes.length); ouputStream.flush(); ouputStream.close(); Y esta es la excepcion q levanta: Error:Error loading object from file : C:\proyectos\Pruebas\PruebasIReports\public_html\E ntradasN.jasper No tengo ni idea pq puede ser, porfavor agradeceria mucho si alguien pudiera ayudarme. |
Pasar Query Completo por Parametro Cita:
Lo he probado y funciona de maravilla, ya no uso tres reportes sino uno solo maestro y de acuerdo a los filtros paso el query como parametro, de verdad Gracias MMF ha sido muy valiosa tu colaboracion. Agradecido desde Venezuela. :aplauso: |
Para Acano Mira, ya verificastes todas tus librerias, recuerda que las librerias deben de ir en la carpeta lib de ireport y tambien en la Tomcat para que tu jsp lo tome. Otra solución es la versión del PDF, ya tienes la 7 si no bajala para que te funcione bien, ya que por extrañas razones solo funciona con esta version. Si tienes alguna otra duda y te puedo ayudar con mucho gusto. |
Para acano Yo tenia el mismo problema y se debe definitivamente a las librerias. Revisa la version de iReports que estas utilizando, en la carpeta lib del iReport tienes el jar del jasperreports, este jar debe ser el mismo jar que tengas ubicado en tu servidor web (tomcat o cualquiera que uses) de lo contrario siempre te va a pintar el mismo error. Saludos KirsonX |
Para Kangulo Hola Kangulo Tengo una pequeña pegunta: has generado reportes por medio del visor propio de jasperreport? mira que al principio del foro Destruktor a laraos le dio las indicaciones de que con la funcion JasperViewer() y pasandole algunos paramentros lo podría hacer, me gutaria saber si lo has trabjado y me puedes ayudar, estoy trabajando con un jsp. Muchas gracias por tu ayuda. :adios: |
Ayuda con subreportes Alguno de ustedes dispone de algun ejemplo con subreportes? Muchas gracias |
Para Stavera Cita:
Por otro lado, porque quieres utilizar el Visor de Jasper?, si tu problema es visualizar el reporte en web, a través de todo el foro se han dado ejemplo de como hacerlo en PDF,HTML y Excel. Si tienes algun inconveniente con esto ultimo, Stavera, puedes postear tu problema y con gusto yo o cualquiera de nosotros te ayudaremos. Espero haberte sacado de dudas. Saludos :adios: |
Para Destruktor Hola Destruktor, haber si te entiendo solo se coloca la linea que me envias y mi codigo quedaria así si lo hago en el jsp File reportFile = new File(application.getRealPath("/reportes/oto.jasper")); Map parameters = new HashMap(); byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath (), parameters, conn); response.setContentLength(bytes.length); ServletOutputStream ouputStream = response.getOutputStream(); ouputStream.write(bytes, 0, bytes.length); ouputStream.flush(); ouputStream.close(); O como sería no te entiendo muy bien. Muchas gracias por tu ayuda :adios: |
Mas dudas sobre subreports Hola Laraos gracias por la referencia del manual. Para todos tengo una duda con los subreportes, observo que en algunos tutoriales que el reporte maestro puede tener varios subreportes y en general un subreporte se construye como un reporte adicional. Bien esto me genera varios archivos jasper. En el esquema que estoy manejando yo dispongo de una BDD en la cual subo los compilados y luego en la jsp al invocar al reporte, obtengo el jasper desde la base. Al tener varios jasper se me complica un poco el manejo, entonces sería posible que se genere un único archivo jasper? Saludos KirsonX |
Cualquier AYUDA es buena Hola que tal, tengo un problema con mi reporte, ya que al momento de llamarlo, se ejecuta el acrobat, pero me lo manda en blanco, ni lo que esta dibujado me parece, lei en secciones anteriores que posiblemente de debe a la version del archivo Jasperrepor.0.6.??? yo tengo las 2 la 0.6.6 y 0.6.4, de hecho si me marcaba este error "net.sf.jasperreports.engine.JRException: Error loading object" al dejar solo el archivo "Jasperrepor.0.6.4" se quito el error, pero el PDF sigue saliendo VACIO, alguien me puede ayudar con esta cuestion? de antemano Gracias!! |
Separacion de lineas Hola a todos, he logrado hacer funcionar un subreporte, ahora tengo problemas con el espaciado de las lineas... y como debo hacer para que los datos del subreporte no se desborden y no interfieran con el resto del contenido del reporte maestro Si tienen alguna idea se los agradezco |
ACANO Se debe a los archivos jasperreport-0.6.6 o jasperreport-0.6.4, pero... te voy a causar otro error, digo para que este como yo, yotengo configurado el jasperreport-0.6.6 en la ruta, ireport\lib y en Root\WEB-INF\lib del tomcat, pero cuando corro la aplicacion al momento en que se habre el acrobat, sale el archivo en blanco, si no te pasa esto me lo haces saber! Suerte! |
Ruta de una Imagen por Parametro Hola A Todos, si alguien sabe por favor como cargar un reporte el cual tiene una imagen que se guarda en una carpeta en el servidor y la ruta de esta imagen esta una base de datos, si le coloco como parametro en la ruta de la imagen el campo de la base de datos no me permite compilar el reporte, alguien sabe como se hace esto? Saludos. |
Secciones ocultas Es posible definir que algunas secciones y campos de texto del documento se oculten o se muestren en funcion de uno o varios parametros q se pueda pasar al reporte |
Consulta a un datasource Alguno d ustedes conoce si es posible estructurar una consulta a un datasource en un reporte con iReports<?? Saludos KirsonX |
KirsonX Me podrias ayudar, estoy un poco desesperado, por mi reporte me sale en blanco, el mismo problema que tu tenias y que por lo que veo ya solucionaste, muchas gracias de antemano |
hola parasgreen es verdad mi problema se arreglo aunque no estoy muy seguro de como... como estoy en un ambiente de desarrollo y estoy probando codigo cada vez, me encontre con que habia dejado mucho codigo inutil q no tenia nada q ver con el reporte asi q lo empece a retirar hasta dejar solo lo esencial para mi reporte y empezo a funcionar sin mas problemas lo deje como sigue a continuacion byte[] bytes = null; log.trace("Cargar archivo desde el Blob"); JasperReport report = (JasperReport)JRLoader.loadObject(barchivo.getBina ryStream()); log.trace("Tomar campos (fields) del archivo"); String[] vcampos = PDFReport.getJRFieldNames(report); log.trace("vcampos[0]: "+vcampos[0]); log.trace("Tamaño col "+dataReporte.size()); log.trace("llamando a collectionToObjectMatriz"); //Object[][] vdata = collectionObjectVectorToObjectMatriz(dataReporte);//collectionToObjectMatriz(dataReporte); Object[][] vdata = collectionToObjectMatriz(dataReporte); log.trace("Data es vdata " + vdata.length+vdata[0][0].toString()); log.trace("Generando data source."); GenericReportDataSource grds = new GenericReportDataSource(vcampos,vdata); Map parameters = new HashMap(); parameters.put("Titulo", "RUC"); log.trace("runReportToPdf"); bytes = JasperRunManager.runReportToPdf(barchivo.getBinary Stream(),parameters ,grds); log.trace("luego de runReportToPdf"); if (bytes != null && bytes.length > 0) { log.trace("Salida ..."); response.setContentType("application/pdf"); response.setContentLength(bytes.length); ServletOutputStream outputStream = response.getOutputStream(); outputStream.write(bytes, 0, bytes.length); outputStream.flush(); outputStream.close(); log.trace("Fin Salida ..."); } |
Reporte con datasource Kirxon: lo q tienes q sustituir en el codigo es la cadena de conexion por /* Connection conexion; String DRIVER = "org.gjt.mm.mysql.Driver"; String USERNAME = "exo"; String PASSWORD = "exo"; String URL= "jdbc:mysql://localhost/siguard"; Class.forName(DRIVER).newInstance(); conexion = DriverManager.getConnection(URL,USERNAME,PASSWORD) ; */ Context init = new InitialContext(); Context context = (Context) init.lookup("java:comp/env"); DataSource dataSource =(DataSource)context.lookup("jdbc/[Nombre del datasource]"); Connection conexion = dataSource.getConnection(); y lo demas lo mantienes igual...de todos modos en las preguntas y respuestas anteriores aparece un ejemplo completo. Saludos |
Para patasgreen20 Para todos: Es recomendable que leamos todas las preguntas y respuestas que ya han sido posteadas ya que en ellos podemos encontrar una solucion previa al problemas que tenemos y evitamos saturar al foro con preguntas q ya han sido solucionadas con anterioridad, de esta manera tendremos un foro mas rico en cuanto a variedad de soluciones y conocimiento. Cita:
|
Cita:
|
Para kangulo y todo aquel q pueda darme una mano Hola a todos voy a ser un poco más específico con mis dudas, pues sospecho que tengo uno de los escenarios más complicados de resolver dentro del foro y he de requerir de toda la ayuda posible para solventarlo. Mi escenario es el siguiente: Estoy desarrollando un esquema de generacion de reportes para una institucion publica. Se busca que sea lo mas generico y flexible posible . Tengo varios retos importantes 1) Mis reportes van a ser generados por usuarios que desconocen por completo el esquema de la BDD, asi que el reporte no usa un objeto conexion sino un JRDatasource. Este datasource debia ser genérico pues no es la idea definir 1 objeto JRDatasource para todos los casos. Hice mi propia implementación basándome en los ejemplos de jasper y aparentemente funcionaria mi esquema. 2) Almacenar la plantilla del reporte en una BDD Oracle, recuperarlo cuando se requiera y sin descargarlo a disco ejecutar el reporte. Esta parte ya la resolvi gracias al uso de objetos BLOB y al metodo JasperReport report = (JasperReport)JRLoader.loadObject(barchivo.getBina ryStream()); que me permite cargar el reporte desde un inputstream. 3) Por la estructura de los documentos me veo obligado a usar subreportes. Ya logre un ejemplo con subreportes. Sin embargo desde mi aplicacion DEBO seleccionar varios datos de entradas y con ellos mandar a generar el reporte. Si tuviera q enviarlos de 1 en 1 NO tendria problemas, pero desean q si escoge 1 o varios datos, el resultado se muestre en un único PDF (en el browser) donde por cada nuevo dato se reinicie la numeración de las páginas. Para esto yo envio al reporte maestro su propio datasource y desde el reporte maestro le paso otro datasource al subreporte(x parametros). los dos datasource solo tienen un dato en comun que puede ser un dato de identificacion de persona, pero el conjunto de informacion que presentan es completamente distinto. Debo resolver el tema de la numeracion de las paginas y lograr q para entradas múltiples se presente la información del SUBREPORTE para todos los casos. Actualmente solo el primer dato se carga con información en el subreporte y a los subsiguientes no les llega la información. Espero haber sido claro y si tienen ayudas o sugerencias que me puedan proporcionar lo agradecere mucho Saludos KirsonX |
Ejemplo de como usar Jasper Report en Java Me preguntaba si alguien me quisiera dar un pequeño ejemplo de como usar Jasper Report en Java... ya tengo listo iReport ... solo me falta mostrar los reportes desde Java... me gustaría que me dijeran como instalar Jasper Report... y un pequeño ejemplo en codigo en Java.... Se los agradeceré mucho... |
Cita:
|
La zona horaria es GMT -6. Ahora son las 07:41. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2025, Jelsoft Enterprises Ltd.