Ele já esta configurado dessa maneira, para usa a conexão de relatório e o parâmetro, mas o erro ainda continua.
Aqui está o código que executo no teste, que estou fazendo no Windows
[code]import java.sql.*;
import java.util.HashMap;
//classes necessárias para gerar este relatório
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JRDesignViewer;
import net.sf.jasperreports.view.JasperViewer;
public class Relatorio{
public static void main(String[] args){
//controla e executa uma instruçao sql
Statement meustate;
//conjunto de dados retornado por uma consulta sql
ResultSet resultset;
//instancia o objeto conex da classe Conexao
Conexao conex = new Conexao();
String sql = "SELECT " +
"tbcliente.`id` AS tbcliente_id, " +
"tbcliente.`nome` AS tbcliente_nome " +
"FROM " +
"`tbcliente` tbcliente";
conex.conecta();
try{
meustate = Conexao.connection.createStatement();
resultset = meustate.executeQuery(sql);
// para compilar o relatório
JasperReport r = JasperCompileManager.compileReport("Relatórios/relTeste.jrxml");
//objeto para colocar no jasper report o resultado retornado
JRResultSetDataSource jrresultado = new JRResultSetDataSource(resultset);
//para passar parâmetros para o relatório
HashMap parametermap = new HashMap();
//parametermap.put("SUBREPORT_DIR", "C:/Users/Guga/workspace/prjRelatorio/Relatórios/");
//chama o fill report
JasperPrint jp = JasperFillManager.fillReport(r,parametermap,jrresultado);
//para gerar relatório em pdf
JasperExportManager.exportReportToPdfFile(jp,"Relatórios/rel_geral_tbcli.pdf");
//para exibição do relatório
JasperViewer js = new JasperViewer(jp, false);
int janelaRelat = js.getExtendedState();
janelaRelat = js.MAXIMIZED_BOTH;
js.setExtendedState(janelaRelat);
js.setVisible(true);
}//fim do try
catch(SQLException erro){
System.out.println("Relatório não encontrado");
}
catch (JRException e) {
conex.fecha();
e.printStackTrace();
}
conex.fecha();
}//final método principal
}//final da classe
[/code]
Espero que ajude a encontrar o erro…
Boa tarde ElesisLink
da uma lida nesse link:
http://www.guj.com.br/java/208859-resolvido-subrelatorio-no-ireport
acho que o problema que está acontecendo na sua aplicação é o mesmo deste post…
Ávila
Boa noite!
eu tive esse problema que o amigo mencionou
consegui resolver …
fiz o seguinte informei para o parâmetro REPORT_CONNECTION a minha conexão como segue o código abaixo:
[code]
import java.sql.Connection;
Connection con = null;
try
{
con = DriverManager.getConnection(“jdbc:postgresql://localhost:5432/MEUBANCO”,“postgres”,“minhasenha”);
}
catch(SQLException erro)
{
}
Map parametros = new HashMap();
parametros.put("REPORT_CONNECTION",con);
JasperPrint jasperPrint = JasperFillManager.fillReport(
"src/br/com/jotacont/Seguranca/Teste.jasper", parametros,new JRBeanCollectionDataSource(lista));
JasperViewer visualiza = new JasperViewer(jasperPrint,false);[/code]
ta aí o link de onde peguei a informação… http://www.guj.com.br/java/285686-subrelatorio-ireport-por-aplicacaoresolvido#1607353
espero ajudar quem ainda tiver o problema! um abraço…