1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Tela em Branco quando gero relatorio em .jsp

Prezados, Bom Dia!

Tenho uma aplicação onde eu coloco os itens obrigatórios para a geração de um Relatório em jsp. Quando clico, aparece uma tela em branco com o seguinte erro:

Mensagem de erro:Unexpected block close in selector
> Erro ao gerar relatório anual - LQA080relAnual.jsp
ConnectionPool: Warning: found timed-out connection
        Connection: com.bitmechanic.sql.PooledConnection@5501e31b
            Statements Requested: 13
            Prepared Calls: 0
            Prepared Statements Hits: 0
            Prepared Statements Misses: 1
            Checkout count: 7
            Last Checkout: 1453718390177: Mon Jan 25 08:39:50 BRST 2016
            Last Checkin : 1453718390172: Mon Jan 25 08:39:50 BRST 2016
            Connection IS checked out.
            Checkout Stack Trace: null
            PooledStatement: com.bitmechanic.sql.PooledStatement@5bc607cb
                 Last Query SQL: SELECT t294.de_sist, tb60.cd_res_iqa, tb60.resul_anl_iqa, tb60.qt_amtr_anl, tb60.qt_amtr_fpad, tc54.cd_parm_iqa, tc54.tp_agua, tc54.cd_loc_pt_cta FROM sae.tb60 AS tb60 INNER JOIN dpo.t294 AS t294 ON tb60.cd_sist = t294.cd_sist INNER JOIN sae.TC54 AS tc54 ON tb60.cd_res_iqa = tc54.cd_res_iqa WHERE tb60.aa_mm_ref_calc BETWEEN 201501 AND 201512 AND tb60.cd_cidade = 1 AND t294.cd_sist = 1 AND tc54.cd_parm_iqa IN (11,12,13,15,23,27,28,33,36,44, 46, 58, 59, 60, 61) ORDER BY t294.de_sist, tc54.cd_parm_iqa
                 Last Update SQL: null

Sou novato na área, se alguém puder ajudar, desde já agradeço.

Abaixo o código da aplicação:

            //opção pra gerar o relatório
             if (op.equals("V")) {
                String caminhoPDF = caminhoRelatorio.replace("rp", "pdf" + separador + String.valueOf(ano));
                File pastaPDF = new File(caminhoPDF);
                if (pastaPDF.exists()) {
                    File arquivoPDF = new File(
                            caminhoPDF + separador + cd_cidade + "_" + cd_sist + "_" + cd_manan + "_" + ano + ".pdf");
                    if (arquivoPDF.exists()) {
                        //codigo pra gerar a URL do arquivo
                        urlPDF = request.getContextPath();
                        urlPDF += "/lqa/pdf/" + ano + "/" + cd_cidade + "_" + cd_sist + "_" + cd_manan + "_" + ano
                                + ".pdf";
                        msg = "Relatório já existente! clique no link se quiser baixá-lo novamente";
                        //codigo pra gerar o download do arquivo

                        FileInputStream reader = new FileInputStream(arquivoPDF);
                        if (arquivoPDF.length() > Integer.MAX_VALUE) {
                            msg = "arquivo maior que o permitido";
                        } else {
                            bpdf = new byte[(int) arquivoPDF.length()];
                            reader.read(bpdf, 0, (int) arquivoPDF.length());
                            response.reset();
                            response.setHeader("Content-Disposition",
                                    "attachment; filename=Relatorio" + cd_cidade + "-" + cd_sist + ".pdf");
                            response.setContentType("application/pdf");
                            //response.setContentType("application/octet-stream"); //para arquivos Zip
                            response.setContentLength(bpdf.length);
                            ServletOutputStream myOut = response.getOutputStream();
                            myOut.write(bpdf, 0, bpdf.length);
                            myOut.flush();
                            myOut = null;
                            //myOut.close();   
                        }
                    }
                }
            } 
      else if (op.equals("R")) {
                try {

                    oNRelatorioAnualQualidadeAgua = new NRelatorioAnualQualidadeAgua(SIGLA_SIST);
                    bpdf = oNRelatorioAnualQualidadeAgua.gerarRelatorio(cd_cidade, ano, cd_sist, cd_manan,
                            caminhoRelatorio, caminhoImagens[indiceTpSistema], condAmbientais, legenda.trim(),
                            valoresCoordenacao, notaTecnicaC.trim(), notaRelSemestral.trim(), indiceTpSistema);

                    if (bpdf != null) {
                        //salvando o relatório no servidor
                        String caminhoPDF = caminhoRelatorio.replace("rp", "pdf" + separador + ano);
                        File pastaPDF = new File(caminhoPDF);
                        if (!pastaPDF.exists()) {
                            if (!pastaPDF.mkdirs()) {
                                msg = "Não foi possível salvar o relatório no servidor!";
                            }
                        }
                        File arquivoPDF = new File(caminhoPDF + separador + cd_cidade + "_" + cd_sist + "_" + cd_manan
                                + "_" + ano + ".pdf");
                        FileOutputStream writer = new FileOutputStream(arquivoPDF);
                        writer.write(bpdf, 0, bpdf.length);
                        writer.flush();
                        writer.close();

                        response.reset();
                        response.setContentType("application/pdf");
                        //response.setContentType("application/octet-stream"); //para arquivos Zip
                        response.setHeader("Content-disposition",
                                "attachment;filename=Relatorio" + cd_cidade + "-" + cd_sist + ".pdf");
                        response.setContentLength(bpdf.length);
                        ServletOutputStream myOut = response.getOutputStream();
                        myOut.write(bpdf, 0, bpdf.length);
                        myOut.flush();
                        myOut = null;
                        //myOut.close();

                    } else {
                        msg = "Não foi possivel gerar o Relatório Anual!";
                    }

                } catch (Excecao e) {
                    System.out.println("Mensagem de erro:" + e.getMessage());
                    System.out.println("Erro ao gerar relatório anual - LQA080relAnual.jsp");
                    op = "";
                    return;
                }
            }
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags ireport jsp ou faça a sua própria pergunta.