Problema ao chamar um relatório *.jasper

2 respostas
S

Boa tarde,
sou iniciante em java e
estou com um problema na hora de exibir um relatorio *.jasper
o java me retorna uma mensagem dizendo que o arquivo nao foi localizado, mas ele contra-se no local especificado

alguma ideia?

abs.

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.HashMap;

import java.util.Map;

import net.sf.jasperreports.engine.JRException;

import net.sf.jasperreports.engine.JRResultSetDataSource;

import net.sf.jasperreports.engine.JasperCompileManager;

import net.sf.jasperreports.engine.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.JasperReport;

import net.sf.jasperreports.engine.design.JasperDesign;

import net.sf.jasperreports.engine.xml.JRXmlLoader;

import net.sf.jasperreports.view.JasperViewer;

public class RelPacienteView {

private static final String url = "jdbc:oracle:thin:@localhost:1521:XE";
private static final String driver = "oracle.jdbc.driver.OracleDriver";
private static final String login = "laticinio2";
private static final String pwd = "123456";

public void gerarRelatorio()throws JRException , SQLException, ClassNotFoundException {

			//estabelece conexão
			Class.forName( driver );
			Connection con = DriverManager.getConnection( url , login , pwd );
			Statement stm = con.createStatement();
			String query = "select * from produtos";
			ResultSet rs = stm.executeQuery( query );

			//implementação da interface JRDataSource para DataSource ResultSet
			JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );

			//executa o relatório
			Map parametros = new HashMap();

			JasperPrint impressao = JasperFillManager.fillReport("c:\relatorios\relProdutos.jasper", parametros,    jrRS );

			//exibe o resultado
			JasperViewer viewer = new JasperViewer( impressao , true );
			viewer.show();
}

}

2 Respostas

Hebert_Coelho

Olá solidersid, seja bem vindo.

1 - Quando colocar seus códigos, coloque entre as tags code. ([code ] e [/code ] sem o espaço dentro dos [])
2 - Qual a mensagem de erro que o sistema está exibindo.
3 - Tente passar o path do arquivo com barra / é aceito com linux e windows. ^^

S

certo…
pelo que notei a variavel “parametro” esta retornando null, minha duvida é: como passar um parametro ( meu relatorio nao utiliza nenhum).

depois de algumas alterações o codigo está assim:

public class RelPacienteView {

	private static final String url = "jdbc:oracle:thin:@localhost:1521:XE";
	private static final String driver = "oracle.jdbc.driver.OracleDriver";
	private static final String login = "teste";
	private static final String pwd = "123456";

	public void gerarRelatorio()throws JRException , SQLException, ClassNotFoundException, IOException {

				//estabelece conexão
				Class.forName( driver );
				Connection con = DriverManager.getConnection( url , login , pwd );
				Statement stm = con.createStatement();
				String query = "select * from produtos";
				ResultSet rs = stm.executeQuery( query );

				//implementação da interface JRDataSource para DataSource ResultSet
				JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );

				//executa o relatório
				Map parametros = new HashMap();

				//File file = new File ("C:/relatorios/relProdutos.jasper");
				//System.out.println( file.createNewFile() );

				JasperPrint impressao = JasperFillManager.fillReport("C:/relatorios/relProdutos.jasper", parametros,    jrRS );

				//exibe o resultado
				JasperViewer viewer = new JasperViewer( impressao , true );
				viewer.show(true);
	}
}
Criado 28 de novembro de 2010
Ultima resposta 28 de nov. de 2010
Respostas 2
Participantes 2