Subrelatorio Ireport por aplicação.[RESOLVIDO]

8 respostas
marcospaulo.suporte

Galera, bom dia.
To quebrando a cabeça aqui… Testei varias coisas que tem no fórum, mas ainda nao consegui resolver meu problema…
Tenho um relatório com subrelatório.
Quando o abro pelo Ireport, aparece tudo certinho… Relatorio,subrelatorio… tudo OK.

Porém, quando abro pela aplicação só é exibido meu relatorio normal e não exibe o subrelatorio.
Já testei varias formas o caminho do subrelatorio, coloquei até caminho fixo pra testar e nada…

Segue erro que retorna no debug…

WARN query.JRJdbcQueryExecuter: The supplied java.sql.Connection object is null.

parece que ele nao encontrou modo de conexão com o subrelatorio… como passar isso??

vlw Galera

8 Respostas

wagnerfrancisco

Quando você cria o subrelatório ele pede como é pra gerenciar a conexão. Normalmente se utiliza a opção que utiliza a mesma conexão do relatório principal.

Depois de criado, você pode alterar isso clicando no subrelatório, veja as propriedades dele. Tem “Connection type”, verifique se está “Use a connection expression”. E na propriedade “Connection Expression”, cheque se o valor dela é $P{REPORT_CONNECTION}.

wagnerfrancisco

duplicado…

Planc

Bom dia!

Na aba propriedades do IReport selecionado seu sub-relatório você verá a opção Subreport Expression, coloque ali o seguinte valor $P{SUBREPORT_DIR} + “NomeSubRelatorio.jasper”

marcospaulo.suporte

wagnerfrancisco:
Quando você cria o subrelatório ele pede como é pra gerenciar a conexão. Normalmente se utiliza a opção que utiliza a mesma conexão do relatório principal.

Depois de criado, você pode alterar isso clicando no subrelatório, veja as propriedades dele. Tem “Connection type”, verifique se está “Use a connection expression”. E na propriedade “Connection Expression”, cheque se o valor dela é $P{REPORT_CONNECTION}.

Sim, está assim, tanto que no Ireport aparece normalmente… o problema está na aplicação.

marcospaulo.suporte

Planc:
Bom dia!

Na aba propriedades do IReport selecionado seu sub-relatório você verá a opção Subreport Expression, coloque ali o seguinte valor $P{SUBREPORT_DIR} + “NomeSubRelatorio.jasper”

Eu já testei todos os caminhos possiveis… e no ireport deu certo… somente na minha aplicação que nao está aparecendo…

mandei por parametro de minha aplicação o caminho fixo e nada tbm… no debug me mostra o erro…

WARN query.JRJdbcQueryExecuter: The supplied java.sql.Connection object is null.
marcospaulo.suporte

Consegui resolver de outra forma… O problema realmente esta na conexão.
no Ireport ele ja tinha o parametro de conexão.‘REPORT_CONNECTION’.
Ao chamar pela minha aplicação precisa passar isso por parametro.

parameters.put("REPORT_CONNECTION",con.conexaorepor);

da classe que pego minha conexao, deixei assim:

conexao = DriverManager.getConnection(url,usuario,senha);
                    conexaorepor = conexao;

// conexaorepor  do tipo public Connection conexaorepor;

Agradeço a todos pela ajuda…

G

Estava com o mesmo problema. Depois de pesquisar em vários lugares encontrei aqui a solução que precisava.
Excelente solução.

Leandro.souzaprata

Puts valeu brother! depois de procurar igual louco isso resolveu meu problema!

Criado 26 de outubro de 2012
Ultima resposta 16 de jul. de 2013
Respostas 8
Participantes 5