Estou com um problema quando eu crio o pdf ai vou abrir ele, fala que não posso abrir pq ta em uso ai tenho que fechar o sistema que no caso é na linguagem java ai sim da pra abrir alguém pode me ajudar nesse problema?
Estou com um problema quando eu crio o pdf ai vou abrir ele, fala que não posso abrir pq ta em uso ai tenho que fechar o sistema que no caso é na linguagem java ai sim da pra abrir alguém pode me ajudar nesse problema?
Oi Danilo,
No código de geração do pdf você deu um stream.close()
e um connection.close()
?
Abraço!
Ola joviane vou mostrar meu codigo acho que fica mais facil.
public class GeradorRelatorio {
private String nomeArquivo;
private Map<String, Object> parametros;
private Connection connection;
public GeradorRelatorio(String nomeArquivo, Map<String, Object> parametros, Connection connection){
this.nomeArquivo = nomeArquivo;
this.parametros = parametros;
this.connection = connection;
}
public void gerapdfParaOutputStream(String pasta) throws JRException, FileNotFoundException{
Map<String, Object> parameters = new HashMap<String, Object>();
JasperPrint jasperPrint = JasperFillManager.fillReport(this.nomeArquivo, this.parametros, this.connection);
JRExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, new FileOutputStream(pasta));
exporter.exportReport();
JOptionPane.showMessageDialog(null, "Relatorio gerado com sussesso ");
}
}
Oi Danilo,
Tenta fechar os recursos de connection e de stream. Algo como:
public void gerapdfParaOutputStream(String pasta) throws JRException, FileNotFoundException{
Map<String, Object> parameters = new HashMap<String, Object>();
JasperPrint jasperPrint = JasperFillManager.fillReport(this.nomeArquivo, this.parametros, this.connection);
JRExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
FileOutputStream stream = new FileOutputStream(pasta);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, stream);
exporter.exportReport();
JOptionPane.showMessageDialog(null, "Relatorio gerado com sussesso ");
stream.close();
this.connection.close();
}
Joviane deu certo aqui muito obrigado. :)
Oi Danilo,
Então era isso mesmo, tem que fechar os recursos senão eles ficam presos. Por isso a mensagem de que estavam sendo utilizados ainda.
Depois marca aí a resposta como solução pro tópico fechar.
Abraço!