Java - Urgente Ayuda con Reportes

 
Vista:

Urgente Ayuda con Reportes

Publicado por Oscar Gomez,Danilo Juvinao (8 intervenciones) el 03/01/2006 18:39:45
CORDIAL SALUDO DE FELIZ AÑO PARA TODO EL FORO.

TENEMOS UN PROBLEMA CON JASPERREPORT...
LUEGO DE CREAR UN REPORTE CON IREPORT Y COMPILARLO PARA OBTENER EL ARCHIVO .jasper NO PODEMOS CARGARLO DESDE NETBEANS
EL ERROR ES:
Error loading object from file: C:\Reportes\rep.jasper

Tenemos cargadas las siguientes librerias
commons-collections-2.1.jar
commons-logging-1.0.2.jar
commons-beanutils-bean-collection.jar
commons-beanutil-core.jar
commons-beanutil.jar
commons-digester-1.7.jar
itext-1.3.1.jar
jasperreports-1.1.1.jar
poi-2.0-final-20040126.jar
postgresql-8.0.311.jdbc2.jar

Estamos usando el j2sdk1.4.2_02

Igualmente importamos en esa clase:
import net.sf.jasperreports.view.*;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.design.*;
import net.sf.jasperreports.engine.export.*;
import net.sf.jasperreports.engine.util.*;
import java.io.*;
import java.util.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.sax.*;
import javax.xml.transform.stream.*;

El codigo que estamos usando es:

try{
Map parameters = new HashMap();
parameters.put("sql_query", new String("select a.cod_artic, a.descripcion, a.stock_dispo, f.nombre as nomf, g.nombre as nomg " +
"from tbl_artic a, tbl_familia f, tbl_grupo g " +
"where a.cod_fam=f.cod_fam and " +
"a.cod_grupo=g.cod_grupo"));
java.sql.Connection conn = Main.db.getConnection(); //Obtenemos una conexion valida
String fileName = "C:\\Reportes\\rep.jasper";
JasperPrint jasperPrint=JasperFillManager.fillReport(fileName, parameters, conn);
JasperViewer.viewReport(jasperPrint,false);

}catch(Exception e){
javax.swing.JOptionPane.showMessageDialog(null,"No se pudo ejecutar el reporte.\nERROR: "+e.getMessage());
}

AGRADECEMOS SU AYUDA Y ESPERAMOS QUE PUEDAN COLABORARNOS.... DE VERDAD ES URGENTE!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Urgente Ayuda con Reportes

Publicado por Omar (9 intervenciones) el 07/01/2006 21:55:10
tienes que hacer esto en tu servlet ...

public class MiReporte extends HttpServlet
{
/**
*
*/
public void service(
HttpServletRequest request,
HttpServletResponse response
) throws IOException, ServletException
{
ServletContext context = this.getServletConfig().getServletContext();
// tu conexion
DBConn dbc=new DBConn();
response.setContentType("text/html");
PrintWriter out = response.getWriter();
// aca pones los parametros de tu reporte (si los $P{miParam})
String miParam=(String)request.getParameter("miParam");
// seteas las propiedas de tu reporte : libreria y carpeta de compilación
System.setProperty(
"jasper.reports.compile.class.path",
context.getRealPath("/WEB-INF/lib/jasperreports-1.1.0.jar") +
System.getProperty("path.separator") +
context.getRealPath("/build/web/WEB-INF/classes/")
);

System.setProperty(
"jasper.reports.compile.temp",
context.getRealPath("/reportes/")
);

try
{
// compilas tu xml
JasperCompileManager.compileReportToFile(context.getRealPath("/reportes/MiReporte.jrxml"));
// instancias el ejecutable de tu reporte
File reportFile = new File(context.getRealPath("/reportes/MiReporte.jasper"));

JasperReport jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());
//
Map parameters = new HashMap();
parameters.put("ReportTitle", "Address Report");
parameters.put("BaseDir", reportFile.getParentFile());
//seteamos las variables que van al reporte
parameters.put("miParametro", miParametro);

JasperPrint jasperPrint = JasperFillManager.fillReport(
jasperReport, parameters, dbc.getConnection()
);

JRHtmlExporter exporter = new JRHtmlExporter();

Map imagesMap = new HashMap();
request.getSession().setAttribute("IMAGES_MAP", imagesMap);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
exporter.setParameter(JRHtmlExporterParameter.IMAGES_MAP, imagesMap);
exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "image?image=");
exporter.exportReport();
}
catch (JRException e)
{}}

espero que les sirva Saludos ...., lo que si les pediria es si llegan a saber como mostrar tb graficos me respondan a mi correo garcias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar