[RESOLVIDO] abrindo relatorio maquina client

18 respostas
A

Amigos,

to tentando abrir um relatorio feito no ireport pelo jasperreportviewer em outra maquina…e nao acontece nada… eu nao deveria installar alguma coisa a mais na maq ??na minha eu tenho o ireport instalado e funciona… alguem ja passou por isso?

18 Respostas

dudu_sps

as vezes é o caminho que está errado…
posta a parte do codigo que chama o relatório que agente te ajuda!!

A

Antes que me perguntem pq to lendo o .jrxml é pq aqui se eu for no .jasper direto da um erro… fui pesquisar e vi que é um bug…que se eu salvar o .jasper em versoes anteriores do ireport funciona…pra nao ter este trampo , compilo o jrxml no cogigo que funciona…

Engraçado que na minha maquina funciona perfeitamente…agora copiei a pasta dist do projeto e fui em outra maquina testar e deu merda…rs

String arquivo = "G:\\Bolsa\\Relatorios\\silvia.jrxml";
        JasperDesign jasperDesign = JRXmlLoader.load(arquivo);
        JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);


        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameterMap,conn);


        JasperViewer jrviewer = new JasperViewer(jasperPrint, false);
        jrviewer.setVisible(true);
dudu_sps

ao inves de voce dizer o caminho assim

tenta colocar o relatorio na raiz do projeto e chama ele dessa forma

relatorios/relatorio.jrxml

essa pasta relatorio vai na raiz do seu projeto!
e dentro vai todos os relatorios

isso porque pode ser que em outro computador não tenha a unidade G e também não tenha os dados la
então colocando na raiz… e pegando o programa de outra maquina… ele ira buscar na raiz do programa!

A

eu intendi sua ideia, mas nao sei como fazer… onde eu crio essa pasta?? na pasta SRC?? Este arquivo ja ta lá dentro do projeto netbeans… e outra coisa, todas as maquinas aqui possuem o mesmo mapeamento de rede… e la eu coloquei estes arquivos…

dudu_sps

como voce distribui a sua aplicação???

jar??

A

isso ai…copio a pasta dist pra maquina e crio um atalho no desktop… bem primario mais funfa…rs

A

CONSEGUI ver o erro pelo DOS…colei a foto ai…

dudu_sps

o erro provavelmente é pelo fato de não ta achando o arquivo jrxml

faz assim… dentro da pasta dist faz uma pasta relatorios e colocar o jrxml dentro
e faz da maneira que te falei

A

FIZ isso mas da erro… olha o erro q deu rodando no DOS

C:\relatorios>java -jar Relatorios.jar

27/04/2011 12:25:11 org.hibernate.cfg.annotations.Version 

INFO: Hibernate Annotations 3.3.1.GA

27/04/2011 12:25:11 org.hibernate.cfg.Environment 

INFO: Hibernate 3.2.5

27/04/2011 12:25:11 org.hibernate.cfg.Environment 

INFO: hibernate.properties not found

27/04/2011 12:25:11 org.hibernate.cfg.Environment buildBytecodeProvider

INFO: Bytecode provider name : cglib

27/04/2011 12:25:11 org.hibernate.cfg.Environment 

INFO: using JDK 1.4 java.sql.Timestamp handling

27/04/2011 12:25:11 org.hibernate.ejb.Version 

INFO: Hibernate EntityManager 3.3.2.GA

27/04/2011 12:25:11 org.hibernate.cfg.AnnotationBinder bindClass

INFO: Binding entity from annotated class: tabelas.TbRelatAtecnica

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findAll => SELECT t FROM TbRelatAtecn

ica t

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByIdTBRELATATECNICA => SELECT t F

ROM TbRelatAtecnica t WHERE t.idTBRELATATECNICA = :idTBRELATATECNICA

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByDtRelat => SELECT t FROM TbRela

tAtecnica t WHERE t.dtRelat = :dtRelat

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByAnalista => SELECT t FROM TbRel

atAtecnica t WHERE t.analista = :analista

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByAtivo => SELECT t FROM TbRelatA

tecnica t WHERE t.ativo = :ativo

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByMercado => SELECT t FROM TbRela

tAtecnica t WHERE t.mercado = :mercado

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findBySuporte1 => SELECT t FROM TbRel

atAtecnica t WHERE t.suporte1 = :suporte1

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findBySuporte2 => SELECT t FROM TbRel

atAtecnica t WHERE t.suporte2 = :suporte2

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findBySuporte3 => SELECT t FROM TbRel

atAtecnica t WHERE t.suporte3 = :suporte3

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByResistencia1 => SELECT t FROM T

bRelatAtecnica t WHERE t.resistencia1 = :resistencia1

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByResistencia2 => SELECT t FROM T

bRelatAtecnica t WHERE t.resistencia2 = :resistencia2

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByResistencia3 => SELECT t FROM T

bRelatAtecnica t WHERE t.resistencia3 = :resistencia3

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByPu => SELECT t FROM TbRelatAtec

nica t WHERE t.pu = :pu

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByClassifSup1 => SELECT t FROM Tb

RelatAtecnica t WHERE t.classifSup1 = :classifSup1

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByClassifSup2 => SELECT t FROM Tb

RelatAtecnica t WHERE t.classifSup2 = :classifSup2

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByClassifSup3 => SELECT t FROM Tb

RelatAtecnica t WHERE t.classifSup3 = :classifSup3

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByClassifRes1 => SELECT t FROM Tb

RelatAtecnica t WHERE t.classifRes1 = :classifRes1

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByClassifRes2 => SELECT t FROM Tb

RelatAtecnica t WHERE t.classifRes2 = :classifRes2

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByClassifRes3 => SELECT t FROM Tb

RelatAtecnica t WHERE t.classifRes3 = :classifRes3

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByImagem => SELECT t FROM TbRelat

Atecnica t WHERE t.imagem = :imagem

27/04/2011 12:25:11 org.hibernate.cfg.annotations.QueryBinder bindQuery

INFO: Binding Named query: TbRelatAtecnica.findByComentario => SELECT t FROM TbR

elatAtecnica t WHERE t.comentario = :comentario

27/04/2011 12:25:11 org.hibernate.cfg.annotations.EntityBinder bindTable

INFO: Bind entity tabelas.TbRelatAtecnica on table TB_RELAT_ATECNICA

27/04/2011 12:25:11 org.hibernate.cfg.AnnotationConfiguration secondPassCompile

INFO: Hibernate Validator not found: ignoring

27/04/2011 12:25:11 org.hibernate.connection.DriverManagerConnectionProvider con

figure

INFO: Using Hibernate built-in connection pool (not for production use!)

27/04/2011 12:25:11 org.hibernate.connection.DriverManagerConnectionProvider con

figure

INFO: Hibernate connection pool size: 20

27/04/2011 12:25:11 org.hibernate.connection.DriverManagerConnectionProvider con

figure

INFO: autocommit mode: true

27/04/2011 12:25:11 org.hibernate.connection.DriverManagerConnectionProvider con

figure

INFO: using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://algo-bdsp-p01:330

6/algo

27/04/2011 12:25:11 org.hibernate.connection.DriverManagerConnectionProvider con

figure

INFO: connection properties: {user=usr_algo, password=****, autocommit=true, rel

ease_mode=auto}

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: RDBMS: MySQL, version: 5.0.51a-24+lenny4

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.6 ( R

evision: ${svn.Revision} )

27/04/2011 12:25:11 org.hibernate.dialect.Dialect 

INFO: Using dialect: org.hibernate.dialect.MySQLDialect

27/04/2011 12:25:11 org.hibernate.transaction.TransactionFactoryFactory buildTra

nsactionFactory

INFO: Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory

27/04/2011 12:25:11 org.hibernate.transaction.TransactionManagerLookupFactory ge

tTransactionManagerLookup

INFO: No TransactionManagerLookup configured (in JTA environment, use of read-wr

ite or transactional second-level cache is not recommended)

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Automatic flush during beforeCompletion(): disabled

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Automatic session close at end of transaction: disabled

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: JDBC batch size: 15

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: JDBC batch updates for versioned data: disabled

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Scrollable result sets: enabled

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: JDBC3 getGeneratedKeys(): enabled

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Connection release mode: auto

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Maximum outer join fetch depth: 2

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Default batch fetch size: 1

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Generate SQL with comments: disabled

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Order SQL updates by primary key: disabled

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Order SQL inserts for batching: disabled

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory createQueryTranslatorFacto

ry

INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory

27/04/2011 12:25:11 org.hibernate.hql.ast.ASTQueryTranslatorFactory 

INFO: Using ASTQueryTranslatorFactory

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Query language substitutions: {}

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: JPA-QL strict compliance: enabled

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Second-level cache: enabled

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Query cache: disabled

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory createCacheProvider

INFO: Cache provider: org.hibernate.cache.NoCacheProvider

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Optimize cache for minimal puts: disabled

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Structured second-level cache entries: disabled

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Statistics: disabled

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Deleted entity synthetic identifier rollback: disabled

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Default entity-mode: pojo

27/04/2011 12:25:11 org.hibernate.cfg.SettingsFactory buildSettings

INFO: Named query checking : enabled

27/04/2011 12:25:11 org.hibernate.impl.SessionFactoryImpl 

INFO: building session factory

27/04/2011 12:25:11 org.hibernate.impl.SessionFactoryObjectFactory addInstance

INFO: Not binding factory to JNDI, no JNDI name configured

27/04/2011 12:25:27 relatorios.relatorioJF imprAtivoBTActionPerformed

SEVERE: null

net.sf.jasperreports.engine.JRException: Error compiling report java source file

s : C:\relatorios\report1_1303917927734_844771.java

at net.sf.jasperreports.engine.design.JRJavacCompiler.compileClasses(JRJ

avacCompiler.java:93)

at net.sf.jasperreports.engine.design.JRAbstractClassCompiler.compileUni

ts(JRAbstractClassCompiler.java:67)

at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(J

RAbstractCompiler.java:192)

at net.sf.jasperreports.engine.JasperCompileManager.compileReport(Jasper

CompileManager.java:219)

at relatorios.Relatorio.GeraRelatAtivo(Relatorio.java:72)

at relatorios.relatorioJF.imprAtivoBTActionPerformed(relatorioJF.java:72

4)

at relatorios.relatorioJF.access$900(relatorioJF.java:37)

at relatorios.relatorioJF$10.actionPerformed(relatorioJF.java:202)

at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour

ce)

at java.awt.Component.processMouseEvent(Unknown Source)

at javax.swing.JComponent.processMouseEvent(Unknown Source)

at java.awt.Component.processEvent(Unknown Source)

at java.awt.Container.processEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Window.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

Caused by: java.io.IOException: Cannot run program “javac”: CreateProcess error=

2, O sistema nÒo pode encontrar o arquivo especificado

at java.lang.ProcessBuilder.start(Unknown Source)

at java.lang.Runtime.exec(Unknown Source)

at java.lang.Runtime.exec(Unknown Source)

at net.sf.jasperreports.engine.design.JRJavacCompiler.compileClasses(JRJ

avacCompiler.java:62)

… 32 more

Caused by: java.io.IOException: CreateProcess error=2, O sistema nÒo pode encont

rar o arquivo especificado

at java.lang.ProcessImpl.create(Native Method)

at java.lang.ProcessImpl.(Unknown Source)

at java.lang.ProcessImpl.start(Unknown Source)

… 36 more
A

cara… nao da pra entender… eu instalei o netbeans na maquina client… ai pelo netbeans o relatorio funciona… pelo .jar nao funciona…e o arquivo ta para uma pasta local…para nao ter aquele problema de acesso a rede e o caramba a quatro…

dudu_sps

quando eu falei pra voce fazer uma pasta relatorio na raiz… não é na raiz do C:

é na raiz da onde voce colocou o .jar

e não precisa instalar o netbeans em cada cliente…

manda o codigo e manda a estrutura de pastas aonde ta o seu arquivo

A

eu testei na pasta dist, no c: e nada funcionou…rs

Criei uma pasta c:\relatorios. onde esta meu projeto

o jrxml esta em c:\relatorios\relatorios

segue o codigo

public void GeraRelatAtivo( String ativo,String data,Connection conn)
throws JRException, ClassNotFoundException, SQLException, ParseException {

SimpleDateFormat dt = new SimpleDateFormat("yyyy-MM-dd");

     HashMap parameterMap =
                                    new HashMap( );
             
            parameterMap.put("ativo", ativo);
                          
           String arquivo = "/relatorios/silvia.jrxml";
    


    try {
        JasperDesign jasperDesign = JRXmlLoader.load(arquivo);
        JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameterMap,conn);


        JasperViewer jrviewer = new JasperViewer(jasperPrint, false);
        jrviewer.setVisible(true);


        conn.close();
        
    } catch (SQLException ex) {
        conn.close();
        Logger.getLogger(Relatorio.class.getName()).log(Level.SEVERE, null, ex);
    }
dudu_sps

oh… faz assim oh

coloca a sua pasta dist no c:

e coloca o relatorios dentro do dist

dai fica assim

C:/dist
C:/dist/relatorios

e olha se não está faltando nenhuma biblioteca na hora de voce exportar o seu projeto…

e faz assim

String arquivo = “relatorios/silvia.jrml”;

A

entao… fazendo isso no meu comp funciona… ai eu pego esta mesma pasta do meu comp e jogo pra outra maquina e nao rola

To pensando num treco…este relatorio tem um monte de imagens… estas imagens estao gravadas na rede… ambos os comps tem o mapeamento do diretorio identico… pode ser uma cagada em alguma imagem??

dudu_sps

hum… pode ser sim

oh… vo te explica a maneira que eu faço

o meu raiz tem as seguintes pastas

clientes
empresa
produtos
estoque.jar
relatorios

então quando eu preciso pegar algo é isso que eu faço
eu pego as fotos do cliente na pasta cliente e assim por diante

então. não da erro de mapeamento de imagens

e no seu caso… se voce usar windows o certo é as imagens ficarem somente no servidor… que dai voce consegue pegar elas

no linux eu não sei como funciona… então o certo seria gravar as imagens no banco… ou dar uma estudada como funciona

A

o problema de gravar as imagens no banco é deixar o banco lento… eu optei por gravar so os endereços no banco e as imagens na rede… eu fiz um teste agora… coloquei todas as imagens numa pasta /imagens na raiz do pgm… e dá o mesmo problema… na minha maquina funciona…na outra não…deve ser alguma coisa diferente disso… sei la… pq as imagens estao todas locais agora…

A

Agradeço o apoio Dudu… depois de perder um pouco mais dos poucos cabelos q me restaram consegui achar o problema.

Faltava uma lib : jdt-compiler-3.1.1.jar … por isso só compilava no netbeans.

Assim ja fica a dica…se o relatorio ireport compila no netbeans mas nao pelo jar, ja vai ver se esta biblioteca ta adicionada

obrigado pela força galera…

Agr0

andreReisLima:
Agradeço o apoio Dudu… depois de perder um pouco mais dos poucos cabelos q me restaram consegui achar o problema.

Faltava uma lib : jdt-compiler-3.1.1.jar … por isso só compilava no netbeans.

Assim ja fica a dica…se o relatorio ireport compila no netbeans mas nao pelo jar, ja vai ver se esta biblioteca ta adicionada

obrigado pela força galera…

Me fala todas as libs q estao no seu projeto ! Estou com o mesmno problema. Acabei de adicionar a tal jdt-compiler-3.1.1.jar e nao
funcionou (pelo . jar nas maquinas clientes).

To apontando o caminho p o .jasper

Criado 26 de abril de 2011
Ultima resposta 1 de set. de 2011
Respostas 18
Participantes 3