IReport na gera no computador do cliente

11 respostas
gabrielemidio

Pessoal Boa tarde tenho um aplicação e em minha maquina ela está rodando tudo certinho criei um .exe e roda tudo normal, mas quando eu instalei para um cliente os relatórios não foram gerados alguem pode me explicar o porque? Os .jasper se encontram na pasta de instalação normalmente.

Att

Gabriel

11 Respostas

leoramos

Cata nos logs o erro que está dando e posta aqui pra gente… não dá pra saber só com isso, tem muita coisa que pode ser.
Abraço!

gabrielemidio

Como citei na minha maquina roda normal o problema e quando eu instalei no computador do cliente onde não está gerando esses relatórios pelo IReport. Não ocorre nenhum problema na linha de comando.

grato

Gabriel

leoramos

Não gerar pode ser um bocado de coisa… é uma pesquisa? Ele por acaso não está fazendo uma pesquisa que retorne um dataSource vazio?
Abraço!

gabrielemidio

Acredito que não seja o datasource por que ele me retorna todos os dados pedidos normalmente. Por tanto o banco de dados da empresa não tem nenhum problema senão ocorreria o mesmo problema aqui talvez seja a falta de algum aplicativo do Jasper que eu tenha que instalar lá.

(é uma pesquisa sim)

Obrigado.

leoramos

Vejamos:

  • o dataSource pode estar vazio (esta possibilidade está excluída por você, então já era);
  • o relatório está sendo gerado diretamente para uma pasta, mas essa pasta não existe, gerando uma exceção - que no caso, está calada;
  • o método fillReport não está encontrando o arquivo compilado, o que também gera uma exceção, também calada.
    São as possibilidades que consigo imaginar. Se está faltando algo no teu classpath, ele irá gerar uma exceção, de qualquer forma.
    Faz o seguinte, cola o trecho de código que tu usar pra executar o relatório, com suas devidas dependências.
    Abraço!
luxu

tive problemas com relatórios qdo não estava instalado o acrobat reader, no meu caso é app para WEB…

gabrielemidio

Esse chama o do orçamento mas o da venda é igual

InputStream arquivo = getClass().getResourceAsStream("/relatorios/orcamento.jasper");

Obrigado

leoramos

Não, mestre; o trecho de código todo, o método inteiro.
Assim dá pra tentar avaliar alguma coisa, senão não dá mesmo, ainda mais que tu tá sem stacktrace.
Abraço!

gabrielemidio

Desculpe =) achei que era o caminho ai é o public para gerar o orçamento

public void relatorioorca(int paramcodorca){
    
        try{
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:odbc:tcc","root","");
            //String caminho = "\\src\\relatorios\\orcamento.jasper";
                       
            //conn = (new ConnectionToJasperReports()).getConn();
                      //  System.out.println(paramcodorca);
			//System.out.println("Gerando relatorio...");
			
			// pega o caminho f�sico at� o arquivo .jasper
			//String arquivo = System.getProperty("user.dir") + caminho;
            
                        InputStream arquivo = getClass().getResourceAsStream("/relatorios/orcamento.jasper");  
			//System.out.println(arquivo);
			// chama fillReport
                        HashMap parametros = new HashMap();
                        parametros.put("cod_orca",paramcodorca);
			//JasperPrint jp = JasperFillManager.fillReport(arquivo,new HashMap(),conn);
			JasperPrint jp = JasperFillManager.fillReport(arquivo,parametros,con);
			// exibe o relat�rio com viewReport
			JasperViewer.viewReport(jp, false);
                        con.close();
		
		} catch (JRException e) {
			
			e.printStackTrace();
			
		}
                 catch(Exception ex){
                    ex.printStackTrace();
        
        
        }
      
       }
leoramos

É, mesmo assim não ajuda muito. É desktop, né?
Certeza que tem stacktrace aí… tens que executar ele pelo console pra poder ver esse stacktrace. Se for web, corre atrás do log do Tomcat.
Minha suspeita é isso aqui: /relatorios/orcamento.jasper, ele não conhece essa referẽncia.
A última pergunta é bem idiiota: o BD tá instalado e rodando?
Abraço!

gabrielemidio

Isso e desktop, então to suspeitando da URL que informei talvez, Sim o banco está rodando normalmente.
vou dar um olhada nessa URL e ver se o problema é ali talvez seja eu vou pegar o caminho inteiro até ela e executar.

Obrigado mesmo

Qualquer coisa eu volto aqui

Criado 13 de setembro de 2011
Ultima resposta 13 de set. de 2011
Respostas 11
Participantes 3