Problemas com relatórios

Boa tarde amigos Javamens…

Por favor, me ajudem, urgente…

Estou precisando urgente (por motivos de estouro de cronograma), gerar relatórios na minha aplicação, nunca tinha trabalhado com jasper antes e hoje eu criei meu primeiro relatório com a ajuda do iReport (última versão).

O relatório no iReport funcionou perfeitamente, compilou, gerou o *.jrxml, *.jasper… normal.
Estou trabalhando com a IDE 5.5 do NetBeans, desenolvendo uma aplicação desktop com swing, criei um pacote para guardar os relatórios e tudo mais.

Bom, o problema é que eu ja estou até com dor de cabeça, por não conseguir chamar através da aplicação o mesmo relatório que eu consigo visualizar no preview do iReport!!!

Ja tentei implementar todas as dicas que eu achei aquii no fórum, e nada da deu certo, talves seje pelo fato desses tópicos não serem tão recentes… pois a versão do meu jasper é 3.0.0, talves algo deve ter mudado…
Segue abaixo a minha ultima tentativa mal sucedida:

        AccessDatabase aD = new AccessDatabase(); //minha conecção, ta normal....
        try {            
            String sql = "SELECT codCliente, nome, municipio, uf, telRes FROM cliente"; //esses campos são os mesmos que foi criado no iReport
            aD.consultTable(sql);            
            JRResultSetDataSource jrRS = new JRResultSetDataSource( aD.rS );

            String pathReport ="D:\Relatorio\clientes.jasper"; 
            /*Obs, tentei substituir esta linha pelo caminho do meu path, tambem da erro, 
            ai por enquanto aponto direto para o diretório onde o relatorio esta*/

            JasperPrint printReport = JasperFillManager.fillReport(pathReport, null, jrRS); // a linha do debug para bem aki, nem entra no Exception...
            JasperExportManager.exportReportToPdfFile(printReport, pathReport); 
            JasperViewer.viewReport(pathReport, false);

        } catch (JRException ex) {
            myCollection.reportExceptionError(ex.toString() + " Erro ao tentar abrir retatório!");
        } 

Pessoal, estou muito confuso, ja tentei abrir sem passar nenhuma consulta, porque pela lógica, por enquanto seria só mostrar na tela, ja que o relatorio com a sua conecção ja estão prontos!
Se alguem achar que o problema é no tal do HashMap(); , me me de uma dica de como usar isso, não vejo motivos para usar HashMap porque o xml do relatorio ja esta tudo criado…

Enfim…
Me ajudem…

Obrigado.
Thiago.

Uma observação:
No código que postei acima não levem em consideração o erro de digitação do caminho do relatório, o caminho esta certo ok…
o problema é justamente naquela linha que eu indiquei…

Para facilitar o entendimento do problema vou postar o log de erro:

compile:
run:
Exception in thread “AWT-EventQueue-0” java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:150)
at sysdistrppa.ControlMain.openRepClientes(ControlMain.java:477)
at sysdistrppa.ViewMain.jMenuRepClientesActionPerformed(ViewMain.java:777)
at sysdistrppa.ViewMain.access$4200(ViewMain.java:13)
at sysdistrppa.ViewMain$41.actionPerformed(ViewMain.java:611)




Thiago, isso parece que é problema com o common-digester.Verifique se ele está no Classpath, e se vc possui a versão que é compatível com sua versão do iReport.

Ola…
Cara realmente, um dos problemas é este… estou resolvendo aos poucos, veja a sequencia de jas’s que eu baxei, ta dando sinal de vida porque a cada .jar que eu adiciono muda o erro. veja:

commons-digester
commons-collections
commons-logging

agora esta parado neste erro:

Exception in thread “AWT-EventQueue-0” java.lang.NoClassDefFoundError: com/lowagie/text/pdf/FontMapper
at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:121)

erro relacionado à converssão para pdf…

cara, muito obrigado por enquanto… hem, vou continuar tentando aki e qualquer coisa eu apareço dinovo…
obrigado

Não estou conseguindo…
alguem pode me dar uma luz

tancks

Bom…
acho que o problemas dos jars eu ja solucionei…

agora o erro é este:

net.sf.jasperreports.engine.JRException: Error loading object from file : D:\Relatorios\cliente.jasper
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:92)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:515)

Ninguem vai me ajudar!!!
tanks

Boa noite amigos.
Olha, me desculpem pela amolação, é que estou entrando em desespero ja…
Os problemas mencionados, ja resolvi quase todos.
Consegui fazer a minha classe no java gerar o relatorio em pdf. mas em branco!!! o que é um grande problema ainda!
segue abaixo fonte.

    //Clientes
    public void openRepClientes(){
        AccessDatabase aD = new AccessDatabase();
        try {            
            String sql = "SELECT codCliente, nome, municipio, uf, telRes FROM cliente";
            int e = aD.consultTable(sql);            
            JRResultSetDataSource jrRS = new JRResultSetDataSource( aD.rS );

            String pathReport ="D:\clientes.jasper";
            
            Map parameters = new HashMap(); 
            JasperRunManager.runReportToPdfFile(pathReport, parameters, jrRS);

        } catch (JRException ex) {
            ex.printStackTrace();
            myCollection.reportExceptionError(ex.toString() + " Erro ao tentar abrir retatório!");
        } 
        aD.finalized();  

Não da nenhum erro, o relatório só aparece em branco…

Alguem me ajuda por favor!

Boa noite moçada…

Thiago

Opaaaaa…
acabei de conseguir, deu certo…

olhem o erro:

JasperRunManager.runReportToPdfFile(pathReport, parameters, jrRS);

eu estava passando o result set como parametro!
o certo é passar a conecção

JasperRunManager.runReportToPdfFile(pathReport, parameters, aD.getConnectionPostgres());

mas ai vem a dúvida:
meu relatório vai ficar limitado somente ao select que eu predefini?
e se eu quizer fazer uma select robusta, como eu passo como parâmetro?

E tambem quando eu mando gerar em html ele cria a pagina mas não executa automaticamente, o que devo fazer?