Subrelatorio Ireport por aplicação.[RESOLVIDO]

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

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}.

duplicado…

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”

[quote=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}.[/quote]

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

[quote=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”[/quote]

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.

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…

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

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