Ireport

11 respostas
B

Estou começando a mexer com ireport
para geração de relatorio, ja fiz o classpath;

Fiz um relatorio salvei e compilei,
ai fiz um programa na qual chama ele e na hora de chamar
da erro fala que o arquivo nao foi aberto, ou naõ foi encontrado
ou nao existe tipo isso
segue abaixo o codigo

import dori.jasper.engine.*;
import dori.jasper.view.JasperViewer;
import java.sql.*;
import java.util.*;
public class RelatVeiculo {

	private static Connection getConnection() throws
	ClassNotFoundException, SQLException
	 {
               String url = "jdbc:odbc:dbPortal";
	           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
	           Connection MinhaConexao = DriverManager.getConnection(url);
	           Statement MeuState = MinhaConexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
	           ResultSet.CONCUR_READ_ONLY);
	           return MinhaConexao;
     }
/* Gera Relatorio e visualiza-o */
public void geraRelatorio( ) throws JRException, Exception
{

String sql = "SELECT * FROM TBVeiculo";
Connection MinhaConexao = getConnection();
Statement smt = MinhaConexao.createStatement();
ResultSet rs= smt.executeQuery(sql);
/* 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( "Relatorio.jrxml", parameters, jrRS );
/* Exporta para o formato PDF */
JasperExportManager.exportReportToPdfFile( "Relatorio.jrprint" );
/* Preenche o relatorio e o salva diretamente em arquivo PDF. Sem
a necessidade do .jrprint */
// JasperRunManager.runReportToPdfFile("Relatorio.jasper", parameters, jrRS);
/* Visualiza o relatório em formato PDF */
JasperViewer.viewReport( "Relatorio.pdf", false );
}
public static void main(String[] args) throws JRException, Exception
{
new RelatVeiculo().geraRelatorio();
}
}

tanto colocando o arquivo Relatorio.jrxml como *.jasper

11 Respostas

A

Cara, tu tem certeza que tu ta colocando o .jrxml ou o .jasper no lugar certo ?? Lembrando que, da forma que vc colocou, caso esteja utilizando o NetBeans, ele vai procurar na pasta raiz !!
Faça o seguinte :

JasperCompileManager.compileReportToFile("Relatorio.xml", "classic.jasper"); JRResultSetDataSource jrRS = new JRResultSetDataSource( rs ); JasperPrint print = JasperFillManager.fillReport("classic.jasper",null, jrRS); JasperViewer.viewReport(print);

No exemplo acima, o Relatorio.xml esta na pasta raiz !!
Fazendo dessa forma vai da certo !!!

blz ?

B

Apolo

FIz compilei sem problemas , mas na hora de rodar deu o seguinte erro
Microsoft Windows 2000 [Versão 5.00.2195]
© Copyright 1985-2000 Microsoft Corp.

C:Documents and SettingsLucas1>cd

C:>cd controle_salome

C:Controle_Salome>c:jdkinjavac RelatVeiculo.java

C:Controle_Salome>c:jdkinjava RelatVeiculo

Exception in thread main java.lang.NoClassDefFoundError: org/apache/commons/di

gester/Digester

at dori.jasper.engine.JasperCompileManager.compileReportToFile(JasperCom

pileManager.java:124)

at RelatVeiculo.geraRelatorio(RelatVeiculo.java:26)

at RelatVeiculo.main(RelatVeiculo.java:42)

C:>cd controle_salome

C:Controle_Salome>c:jdkinjavac RelatVeiculo.java

C:Controle_Salome>c:jdkinjava RelatVeiculo

Exception in thread main java.lang.NoClassDefFoundError: org/apache/commons/di

gester/Digester

at dori.jasper.engine.JasperCompileManager.compileReportToFile(JasperCom

pileManager.java:124)

at RelatVeiculo.geraRelatorio(RelatVeiculo.java:26)

at RelatVeiculo.main(RelatVeiculo.java:42)
A
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/di
gester/Digester

Opa, vc esqueceu de colocar o seguite .jar : commons-digester.jar

Coloca, que agora vai da certo !!

blz??

B

Mais aonde eu coloco isso
no autoexec.bat

e como coloco

Hempx

“BomBer_Rp”:
Mais aonde eu coloco isso
no autoexec.bat

e como coloco

coloca isso no CLASSPATH

se está tudo no msm diretorio
entre no diretorio onde está seu .jar e seu programa e escreva no prompt do DOS

SET CLASSPATH=.;

ou entao coloque o caminho todo do seu jar

SET CLASSPATH=C:\temp\seujar.jar; C: ... ....seuoutrojar.jar;

seu IDE tbm deve ter alguma coisa que ajuda a fazer isso tbm.
Se for o eclipse vá nas propriedades do seu projeto e depois em Java Build Path, depois em Libraries —> AddExternal JARs…

Caso esteja viajando no que é CLASSPATH é só fazer uma pesquisa aqui no forum mesmo que vai chover msgs.

B

Não intendi direito

NO autoexec.bat eu tinha feito isso

set CLASSPATH=c:ireportlib;c:jasperreportsclasses;.;

agora aonde eu coloco esse ai

A

Cara ou vc carrega no classpath ou se vc estiver utilizando linha de comando vc pode fazer o seguinte :

javac -cp NomeDasuaclasse.java blabla.jar:teste.jar: etc.jar
java -cp NomeDasuaclasse blabla.jar:teste.jar: etc.jar

Te aconseho instalar o Eclipse ou o NetBeans. Nessas IDE’s vc pode carregar os .jar bem mais facilmente para cada projeto. Ficando bem mais portável do que colocar no classpath !!

Falou

B

Eu não gosto de nehuma IDE

mais agora eu keria saber como eu faço isso no classpath
pq meu classpath ja esta montado

B

ou se eu crio um arquivo .bat e set classpath

num to intendendo como vou fazer isso
ou se coloco no autoexec.bat
rem c:ireportlibcommons-digester.jar

ja tentei di tudo e não consigo

aonde e como eu faço

please!!!

A

“BomBer_Rp”:
ou se eu crio um arquivo .bat e set classpath

num to intendendo como vou fazer isso
ou se coloco no autoexec.bat
rem c:ireportlibcommons-digester.jar

ja tentei di tudo e não consigo

aonde e como eu faço

please!!!

Cara tu seguiu a orientação do Hempx, o caminho eh aquele mesmo !!! Da para ir pelo autoexec.bat tb. Se for pelo autoexec.bat, vai no Google e ver como deve seta-lo. A maneira de setar vai depender do seu S.O.

B

so que se eu setar
so isso no dos
set Classpath = c:ireportlib;.;

ele num vai ter nehum valor
eu Num to conseguindo intender nada
das explicações

queria uma solução de como eu faço

Criado 26 de agosto de 2004
Ultima resposta 27 de ago. de 2004
Respostas 11
Participantes 3