Erro ao Gerar Relatório Usando JasperReports e Ireport

2 respostas
Oesly

Olá pessoal meu banco de dados é Oracle,

cheguei até aqui com um exemplo que encontrei aqui no sit, porem é como ele não tivesse encontrando o arquivo "Relatorio1.jasper",
que já está criado e copilado, segue as classes usadas:
meu codigo está exatamente dessa forma>>>

import java.sql.*;
import java.util.*; 
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.view.JasperViewer;

/**
 *
 * @author Nunes
 */
public class Relatorios { 
/* Realiza conexão com o banco de dados, retornando o objeto Connection */
 private static Connection getConnection( ) throws  
ClassNotFoundException, SQLException 
 { 
   String driver = "oracle.jdbc.OracleDriver"; 
   String url = "jdbc:oracle:thin:@localhost:1521:XE"; 
   String user = "curriculum"; 
   String password = "curriculum"; 
    
   Class.forName(driver); 
   Connection con = DriverManager.getConnection( url, user, password ); 
   return con; 
 } 
 /* Gera Relatorio e visualiza-o */
 public void geraRelatorio( ) throws JRException, Exception 
 { 
   Connection con = getConnection( ); 
   Statement stm = con.createStatement( ); 
   String query = "select * from curriculo"; 
   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("Relatorio1.jasper", parameters, jrRS ); 
    /* Exporta para o formato PDF */
    JasperExportManager.exportReportToPdfFile( "Relatorio1.jrprint" ); // O ERRO ESTÁ NESSA LINHA PESSOAL (45)
   /* 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( "Relatorio1.pdf", false );   
 } 
   
   public static void main(String[] args) throws JRException, Exception 
   { 
     new Relatorios().geraRelatorio(); 
   } 
}
Esse é o erro que o NetBeans mim retornam:
run:

Exception in thread "main" net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: Relatorio1.jasper
	at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:79)
	at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:443)
	at formularios.Relatorios.geraRelatorio(Relatorios.java:45)
	at formularios.Relatorios.main(Relatorios.java:58)
Caused by: java.io.FileNotFoundException: Relatorio1.jasper
	... 4 more
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)
Ajuda aê Pessoal, não conseguindo solucionar.

2 Respostas

Oesly

Olá, olha mudei o endereço do arquivo e mim parece que ele agora ta encontrando o relatorio:

"../Relatorio/Relatorio1.jasper"

ai deu outros erros:

run:
Exception in thread "main" net.sf.jasperreports.engine.JRRuntimeException: Unknown hyperlink target 0
	at net.sf.jasperreports.engine.JRHyperlinkHelper.getLinkTarget(JRHyperlinkHelper.java:273)
	at net.sf.jasperreports.engine.base.JRBaseTextField.normalizeLinkTarget(JRBaseTextField.java:317)
	at net.sf.jasperreports.engine.base.JRBaseTextField.readObject(JRBaseTextField.java:381)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
	at java.util.ArrayList.readObject(ArrayList.java:733)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1004)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1866)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
	at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1685)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1341)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1964)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1888)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
	at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:92)
	at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:443)
	at formularios.Relatorios.geraRelatorio(Relatorios.java:41)
	at formularios.Relatorios.main(Relatorios.java:54)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)

mim ajuda ae pessoal…

Oesly

:idea: Alguém ajuda aê :!:

Criado 10 de janeiro de 2013
Ultima resposta 14 de jan. de 2013
Respostas 2
Participantes 1