Erro gerando relatorio

11 respostas
rocha

Tenho a seguinte classe:

public class Relatorio {
/* Realza contornan
iexão com o banco de dados, redo o objeto Connection */
    private static Connection getConnection( ) throws ClassNotFoundException, SQLException {
	String driver = "org.firebirdsql.jdbc.FBDriver";
        String url = "jdbc:firebirdsql:192.168.0.20:/bd.FBD";
        String login = "login";
        String passwd = "senha";
	Class.forName(driver);
	Connection con = DriverManager.getConnection( url, login, passwd );
	return con;
    }
/* Gera Relatorio e visualiza-o */
    public void geraRelatorio( ) throws JRException, Exception{
        Connection con = getConnection( );
        Statement stm = con.createStatement( );
        String query = "select * from TB_EMPRESA";
        ResultSet rs = stm.executeQuery( query );
        /* implementação da interface JRDataSource para DataSource ResultSet */
        JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
        /* HashMap de parametros utilizados no relatório. Sempre instanciados */
        Map parameters = new HashMap();
        // parameters.put("COLUNA", valor);
        /* Preenche o relatório com os dados. Gera o arquivo BibliotecaPessoal.jrprint */
        JasperFillManager.fillReportToFile( "gestor.jasper", parameters, jrRS );
        /* Exporta para o formato PDF */
        JasperExportManager.exportReportToPdfFile( "gestor.jrprint" );
        /* Preenche o relatorio e o salva diretamente em arquivo PDF. Sem
        a necessidade do .jrprint */
        // JasperRunManager.runReportToPdfFile("BibliotecaPessoal.jasper", parameters, jrRS);
        /* Visualiza o relatório em formato PDF */
        JasperViewer.viewReport( "gestor.pdf", false );
    }
    public static void main(String[] args) throws JRException, Exception{
        new Relatorio().geraRelatorio();
    }
}

ao executar me aparece o seguinte erro

[i]java.io.FileNotFoundException: gestor.jasper

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:73)

at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:270)

at relatorio.Relatorio.geraRelatorio(Relatorio.java:47)

at relatorio.Relatorio.main(Relatorio.java:57)
NESTED BY :

java.io.FileNotFoundException: gestor.jasper

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:73)

at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:270)

at relatorio.Relatorio.geraRelatorio(Relatorio.java:47)

at relatorio.Relatorio.main(Relatorio.java:57)
NESTED BY :

net.sf.jasperreports.engine.JRException: gestor.jasper

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:73)

at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:270)

at relatorio.Relatorio.geraRelatorio(Relatorio.java:47)

at relatorio.Relatorio.main(Relatorio.java:57)

Caused by: java.io.FileNotFoundException: gestor.jasper

 4 more

Exception in thread main

Java Result: 1[/i]

Alguém sabe o q pode ser?

11 Respostas

rocha

Nínguem pode ajudar? :cry:

_fs

Você leu a exceção?

FileNotFoundException: gestor.jasper

Significa que o arquivo gestor.jasper … não foi encontrado! Então coloque o caminho correto para o arquivo que resolve.

E mais: o forum é algo comunitario, e o pessoal que ajuda os outros faz isso no tempo livre - o que, em muitos casos, é quase inexistente. Portanto, se ninguem respondeu ainda, é necessario esperar ate que alguem o faça.

rocha
public class MostraRelatorio {
    
    private static final String driver = "org.firebirdsql.jdbc.FBDriver";
        private static final String url = "jdbc:firebirdsql:192.168.0.20:/GESTOR.FBD";
        private static final String login = "login";
        private static final String passwd = "senha";
	
    public static void main(String[] args) throws Exception {
	try{
            // compila o relatório
            JasperCompileManager jasperCompileManager = new JasperCompileManager();
            JasperReport relatorio = jasperCompileManager.compileReport("C:\relatorio\teste.xml");

            // estabelece uma conexão JDBC
            Class.forName(driver);
            Connection con = DriverManager.getConnection(url, login, passwd);

            // executa o relatório
            JasperPrint impressao = JasperManager.fillReport(relatorio, new HashMap(), con);

            //exibe o resultado da impressão na previsualização padrão Swing
            JasperViewer viewer = new JasperViewer(impressao, true);
            viewer.show();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

estou tentando isso agora

mas o seguinte erro me é apresentado
java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:142)
at relatorio.MostraRelatorio.main(MostraRelatorio.java:37)
Exception in thread "main"
Java Result: 1

keller
stream classdesc serialVersionUID = 607, local class serialVersionUID = 608

Você compilou o relatorio com o Jasper x07 e está tentando visualiza-lo com o Jasper x08, e está ocorrendo um erro de serializacao.

Recompile o relatorio com o Jasper x08 ou mude a versao do Jasper que está no servidor para x07.

Valeu? até… :thumbup:

rocha

gui:
stream classdesc serialVersionUID = 607, local class serialVersionUID = 608

Você compilou o relatorio com o Jasper x07 e está tentando visualiza-lo com o Jasper x08, e está ocorrendo um erro de serializacao.

Recompile o relatorio com o Jasper x08 ou mude a versao do Jasper que está no servidor para x07.

Valeu? até… :thumbup:

Cara só para mim me localizar o que é o jasper x07 e x08 e como eu faço isso?

_fs

Coloca o jar do digester no seu classpath.

rocha
LIPE:
Coloca o jar do digester no seu classpath.

Coloquei o commons-digester.jar no classpath

e apresentou o seguinte erro:

07/06/2005 15:13:15 net.sf.jasperreports.engine.design.JRVerifier verifyBand
WARNING: Warning : Element bottom reaches outside band area : y=50 height=1 band-height=0
org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544569. Dynamic SQL Error
SQL error code = -204
Table unknown
regiao
At line 2, column 1.
    at org.firebirdsql.jdbc.AbstractPreparedStatement.<init>(AbstractPreparedStatement.java:91)
    at org.firebirdsql.jdbc.FBPreparedStatement.<init>(FBPreparedStatement.java:34)
    at org.firebirdsql.jdbc.AbstractConnection.prepareStatement(AbstractConnection.java:682)
    at org.firebirdsql.jdbc.AbstractConnection.prepareStatement(AbstractConnection.java:232)
    at net.sf.jasperreports.engine.util.JRQueryExecuter.getStatement(JRQueryExecuter.java:165)
    at net.sf.jasperreports.engine.util.JRQueryExecuter.getStatement(JRQueryExecuter.java:98)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:469)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:76)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)
    at net.sf.jasperreports.engine.JasperManager.fillReport(JasperManager.java:692)
    at relatorio.MostraRelatorio.main(MostraRelatorio.java:44)
at org.firebirdsql.gds.GDSException: Dynamic SQL Error
SQL error code = -204
Table unknown
regiao
At line 2, column 1.
    at org.firebirdsql.jgds.GDS_Impl.readStatusVector(GDS_Impl.java:1758)
    at org.firebirdsql.jgds.GDS_Impl.receiveResponse(GDS_Impl.java:1711)
    at org.firebirdsql.jgds.GDS_Impl.isc_dsql_prepare(GDS_Impl.java:1223)
    at org.firebirdsql.jca.FBManagedConnection.prepareSQL(FBManagedConnection.java:746)
    at org.firebirdsql.jdbc.AbstractConnection.prepareSQL(AbstractConnection.java:934)
    at org.firebirdsql.jdbc.AbstractStatement.prepareFixedStatement(AbstractStatement.java:1027)
    at org.firebirdsql.jdbc.AbstractPreparedStatement.prepareFixedStatement(AbstractPreparedStatement.java:843)
    at org.firebirdsql.jdbc.AbstractPreparedStatement.<init>(AbstractPreparedStatement.java:86)
    at org.firebirdsql.jdbc.FBPreparedStatement.<init>(FBPreparedStatement.java:34)
    at org.firebirdsql.jdbc.AbstractConnection.prepareStatement(AbstractConnection.java:682)
    at org.firebirdsql.jdbc.AbstractConnection.prepareStatement(AbstractConnection.java:232)
    at net.sf.jasperreports.engine.util.JRQueryExecuter.getStatement(JRQueryExecuter.java:165)
    at net.sf.jasperreports.engine.util.JRQueryExecuter.getStatement(JRQueryExecuter.java:98)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:469)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:76)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)
    at net.sf.jasperreports.engine.JasperManager.fillReport(JasperManager.java:692)
    at relatorio.MostraRelatorio.main(MostraRelatorio.java:44)

NESTED BY :
org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544569. Dynamic SQL Error
SQL error code = -204
Table unknown
regiao
At line 2, column 1.
    at org.firebirdsql.jdbc.AbstractPreparedStatement.<init>(AbstractPreparedStatement.java:91)
    at org.firebirdsql.jdbc.FBPreparedStatement.<init>(FBPreparedStatement.java:34)
    at org.firebirdsql.jdbc.AbstractConnection.prepareStatement(AbstractConnection.java:682)
    at org.firebirdsql.jdbc.AbstractConnection.prepareStatement(AbstractConnection.java:232)
    at net.sf.jasperreports.engine.util.JRQueryExecuter.getStatement(JRQueryExecuter.java:165)
    at net.sf.jasperreports.engine.util.JRQueryExecuter.getStatement(JRQueryExecuter.java:98)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:469)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:76)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)
    at net.sf.jasperreports.engine.JasperManager.fillReport(JasperManager.java:692)
    at relatorio.MostraRelatorio.main(MostraRelatorio.java:44)
at org.firebirdsql.gds.GDSException: Dynamic SQL Error
SQL error code = -204
Table unknown
regiao
At line 2, column 1.
    at org.firebirdsql.jgds.GDS_Impl.readStatusVector(GDS_Impl.java:1758)
    at org.firebirdsql.jgds.GDS_Impl.receiveResponse(GDS_Impl.java:1711)
    at org.firebirdsql.jgds.GDS_Impl.isc_dsql_prepare(GDS_Impl.java:1223)
    at org.firebirdsql.jca.FBManagedConnection.prepareSQL(FBManagedConnection.java:746)
    at org.firebirdsql.jdbc.AbstractConnection.prepareSQL(AbstractConnection.java:934)
    at org.firebirdsql.jdbc.AbstractStatement.prepareFixedStatement(AbstractStatement.java:1027)
    at org.firebirdsql.jdbc.AbstractPreparedStatement.prepareFixedStatement(AbstractPreparedStatement.java:843)
    at org.firebirdsql.jdbc.AbstractPreparedStatement.<init>(AbstractPreparedStatement.java:86)
    at org.firebirdsql.jdbc.FBPreparedStatement.<init>(FBPreparedStatement.java:34)
    at org.firebirdsql.jdbc.AbstractConnection.prepareStatement(AbstractConnection.java:682)
    at org.firebirdsql.jdbc.AbstractConnection.prepareStatement(AbstractConnection.java:232)
    at net.sf.jasperreports.engine.util.JRQueryExecuter.getStatement(JRQueryExecuter.java:165)
    at net.sf.jasperreports.engine.util.JRQueryExecuter.getStatement(JRQueryExecuter.java:98)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:469)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:76)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)
    at net.sf.jasperreports.engine.JasperManager.fillReport(JasperManager.java:692)
    at relatorio.MostraRelatorio.main(MostraRelatorio.java:44)

NESTED BY :
net.sf.jasperreports.engine.JRException: Error preparing statement for executing the report query : 

select "regiao"."nome", sum("qtde"*"preco")
from "regiao", "vendas", "produto"
where "regiao"."uf" = "vendas"."uf" and
"produto"."id" = "vendas"."produto"
group by "regiao"."nome"


    at net.sf.jasperreports.engine.util.JRQueryExecuter.getStatement(JRQueryExecuter.java:333)
    at net.sf.jasperreports.engine.util.JRQueryExecuter.getStatement(JRQueryExecuter.java:98)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:469)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:76)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)
    at net.sf.jasperreports.engine.JasperManager.fillReport(JasperManager.java:692)
    at relatorio.MostraRelatorio.main(MostraRelatorio.java:44)
Caused by: org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544569. Dynamic SQL Error
SQL error code = -204
Table unknown
regiao
At line 2, column 1.
    at org.firebirdsql.jdbc.AbstractPreparedStatement.<init>(AbstractPreparedStatement.java:91)
    at org.firebirdsql.jdbc.FBPreparedStatement.<init>(FBPreparedStatement.java:34)
    at org.firebirdsql.jdbc.AbstractConnection.prepareStatement(AbstractConnection.java:682)
    at org.firebirdsql.jdbc.AbstractConnection.prepareStatement(AbstractConnection.java:232)
    at net.sf.jasperreports.engine.util.JRQueryExecuter.getStatement(JRQueryExecuter.java:165)
    ... 6 more

mas no ireport rola, a tabela regiao existe

keller

rocha:
gui:
stream classdesc serialVersionUID = 607, local class serialVersionUID = 608

Você compilou o relatorio com o Jasper x07 e está tentando visualiza-lo com o Jasper x08, e está ocorrendo um erro de serializacao.

Recompile o relatorio com o Jasper x08 ou mude a versao do Jasper que está no servidor para x07.

Valeu? até… :thumbup:

Cara só para mim me localizar o que é o jasper x07 e x08 e como eu faço isso?

Ve se você reconhece esses:
jasperreports-0.6.7.jar [voce compilou usando este]
jasperreports-0.6.8.jar [voce esta executando usando este]

:smiley:

rocha
nesse exemplo:
public void geraRelatorio( ) throws JRException, Exception{
        Connection con = getConnection( );
        Statement stm = con.createStatement( );
        String query = "select * from TB_EMPRESA";
        ResultSet rs = stm.executeQuery( query );
        /* implementação da interface JRDataSource para DataSource ResultSet */
        JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
        /* HashMap de parametros utilizados no relatório. Sempre instanciados */
        Map parameters = new HashMap();
        // parameters.put("COLUNA", valor);
        /* Preenche o relatório com os dados. Gera o arquivo BibliotecaPessoal.jrprint */
        JasperFillManager.fillReportToFile("gestor.jasper", parameters, jrRS);
        /* Exporta para o formato PDF */
        JasperExportManager.exportReportToPdfFile("gestor.jrprint");
        /* Preenche o relatorio e o salva diretamente em arquivo PDF. Sem
        a necessidade do .jrprint */
        // JasperRunManager.runReportToPdfFile("BibliotecaPessoal.jasper", parameters, jrRS);
        /* Visualiza o relatório em formato PDF */
        JasperViewer.viewReport("gestor.pdf", false);
    }
    public static void main(String[] args) throws JRException, Exception{
        new Relatorio().geraRelatorio();
    }

está me aparecendo isso pq será?

java.io.StreamCorruptedException: invalid stream header
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:737)
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:84)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:62)
    at net.sf.jasperreports.view.JRViewer.loadReport(JRViewer.java:1226)
    at net.sf.jasperreports.view.JRViewer.<init>(JRViewer.java:128)
    at net.sf.jasperreports.view.JasperViewer.<init>(JasperViewer.java:117)
    at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:253)
    at relatorio.Relatorio.geraRelatorio(Relatorio.java:59)
    at relatorio.Relatorio.main(Relatorio.java:62)

NESTED BY :
java.io.StreamCorruptedException: invalid stream header
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:737)
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:84)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:62)
    at net.sf.jasperreports.view.JRViewer.loadReport(JRViewer.java:1226)
    at net.sf.jasperreports.view.JRViewer.<init>(JRViewer.java:128)
    at net.sf.jasperreports.view.JasperViewer.<init>(JasperViewer.java:117)
    at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:253)
    at relatorio.Relatorio.geraRelatorio(Relatorio.java:59)
    at relatorio.Relatorio.main(Relatorio.java:62)

NESTED BY :
net.sf.jasperreports.engine.JRException: Error loading object from file : gestor.pdf
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:89)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:62)
    at net.sf.jasperreports.view.JRViewer.loadReport(JRViewer.java:1226)
    at net.sf.jasperreports.view.JRViewer.<init>(JRViewer.java:128)
    at net.sf.jasperreports.view.JasperViewer.<init>(JasperViewer.java:117)
    at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:253)
    at relatorio.Relatorio.geraRelatorio(Relatorio.java:59)
    at relatorio.Relatorio.main(Relatorio.java:62)
Caused by: java.io.StreamCorruptedException: invalid stream header
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:737)
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:84)
    ... 7 more
keller

Error loading object from file : gestor.pdf

Este arquivo .pdf está funcionando corretamente?
Provavel que ele esteja corrompido.

Valeu? até… :smiley:

R

estou com esse problema. ja deixei tudo com a mesma versao do jasper. mas continua dando o mesmo erro, dizendo que a classe foi serializada com uma versao e que eu to tentando executar com outra versao

alguem sabe o que eu fiz errado?

Criado 7 de junho de 2005
Ultima resposta 10 de jun. de 2005
Respostas 11
Participantes 4