iReport e JasperReport (Socorro!)

14 respostas
L

Boa Tarde a todos, meu problema é o seguinte:

já gerei meu relatório no iReport, mas ao chamá-lo através de uma página qualquer, o tomcat me retorna o seguinte erro:

ExceptionConverter: java.io.IOException: The document has no pages.

No iReport tá beleza, o relatório tá certinho…

Muito Obrigado[/b]

14 Respostas

brlima

seu relatorio acessa banco ?

L

Já testei com acesso e sem acesso…

Com acesso o tomcat retorna erro na instrução sql

e sem acesso dá esse bendito erro…

será que tem alguma coisa errada no classpath???

brlima

Nao… Isso nao ta com cara de ser no classpath… To tetando ver aqui o que pode ser…
Ja tento fazer um outro relatorio so com um label pra ver se chama certinho , pasando nulo nos parametros ?

L

Já, inclusive já rodei tanto com o demo Pdf.jsp e com o Pdf (servlet)

Ambos retornam o mesmo erro…

Também já coloquei p/ compilar e exportar p/ PDF e com a opção compile only…

brlima

posta seu jsp ai pra chamar o relatorio… :smiley:
Valeu"!""

L

Aí vai o código:

<%@page language="java" import="javax.mail.*, javax.mail.internet.*,java.io.*,java.text.*,java.util.*,java.sql.*,java.lang.*,javax.*,java.text.DecimalFormat,java.text.Format,java.text.NumberFormat,leo.*" %>

<%@ page import="com.lowagie.text.*"%>
<%@ page import="dori.jasper.engine.*" %>
<%@ page import="dori.jasper.engine.util.*" %>
<%@ page import="dori.jasper.engine.export.*" %>
<%@ page import="dori.jasper.engine.JRException.*"%>
<%@ page import="dori.jasper.engine.JasperRunManager.*"%>
<%@ page import="java.sql.DriverManager.*"%>
<%@ page import="javax.*"%>



<%

    String dsn1= "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:/hci.mdb";
   			  String usuario1 = "";
   			  String senha1   = "";
   			  String sql1     = "";
   			  Connection conn1 = null;



   			  try {
   			    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   			  }
   			  catch(java.lang.ClassNotFoundException e) {
   			    System.err.print("ClassNotFoundException: ");
   			    System.err.println(e.getMessage());
   			  }


   			  try {
   			    conn1 = DriverManager.getConnection("jdbc:odbc:BancoInternet", "", "");
   			  }
   			  catch (Exception e) {
   			    e.printStackTrace();
   			    System.err.print(e.getClass().getName());
   			    System.err.println(e.getMessage());
   			  }


   			       try {
   				     conn1.close();
   				   }
   				   catch (Exception e) {
   				     System.out.println("Connection close failed");
   				     System.out.println(e.toString());
   			}


  	File reportFile = new File(application.getRealPath("teste.jasper"));

  	Map parameters = new HashMap();
  	parameters.put("ReportTitle", "Address Report");
  	parameters.put("BaseDir", reportFile.getParentFile());

  	byte[] bytes =
  		JasperRunManager.runReportToPdf(
  			reportFile.getPath(),
  			parameters,
  			conn1
  			);

  	response.setContentType("application/pdf");
  	response.setContentLength(bytes.length);
  	ServletOutputStream ouputStream = response.getOutputStream();
  	ouputStream.write(bytes, 0, bytes.length);
  	ouputStream.flush();
  	ouputStream.close();
%>



Valeu
brlima

Ja achei :smiley:
O problema é que qdo vc passa um DataSource nulo, ou Conexao com banco ele nao acha nenhum registro.

É preciso passar um EmptyDataSource ou algo do genero… To tentando ver como fazer isso.

Dá uma olhada ai tb :smiley:

L

Beleza…

brlima

Cara, testa ai esse codigo abaixo.

O ele só ta me dando uma exception aqui, mas nem sei pq. Ve se da ai tb.

//-- Define que a fonte de dados do relatorio é nula
   JREmptyDataSource source = new JREmptyDataSource();

    //-- Opcao 1
    // JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,parameters,source);
    // byte[] bytes = JasperExportManager.exportReportToPdf(jasperPrint);
    //-------------------



   //-- Opcao 2
   byte[] bytes =
      JasperRunManager.runReportToPdf(
         jasperReport,
         parameters,
         source);
   //--------------------

A exception

dori.jasper.engine.JRException: Could not load font from location : Courier-Bold

Espero que funcione :stuck_out_tongue:

L

Valeu, vou testar e te falo…

L

Testei seu código e continua dando essa #$@% de erro:

org.apache.jasper.JasperException: The document has no pages.

:cry:

brlima

Droga… :shock:
Deixa eu ver…

brlima

Da uma olhada aqui…
SourceForge Forum

Abraços

L

Valeu, vo tentar de novo…

Criado 2 de fevereiro de 2004
Ultima resposta 2 de fev. de 2004
Respostas 14
Participantes 2