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!