Boa noite pessoal, ou bom dia já não é?!?!
Seguinte pessoal, sei que tem muitos tópicos deste assunto no forum e já varri praticamente todos e não encontro solução. Me problema é o seguinte: estou desenvolvendo uma tela de bakup, utilizei vários codigos que aqui mesmo encontrei, porém não consegui nada.
a seguir o primeiro teste que fiz, esse comando ocorre o erro apenas no momento e em que "starta" o processo para executar o comando do backup.
a mensagem de erro dele segue logo abaixo do mesmo:public boolean Backup(BackupDTO backupDTO){
private ProcessBuilder pb;
private Process p;
try{
Conexao.ConectDB();
p=null;
pb=null;
pb = new ProcessBuilder("C:\\Program Files\\PostgreSQL\\8.3\\bin\\pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f \""+backupDTO.getNome()+".backup\" \"Projeto_ElShaday\"");
pb.environment().put("PGPASSWOD", "cdfs");
pb.redirectErrorStream(true);
p = pb.start(); // <<<<<< o erro ocorre nesta linha!
Conexao.con.commit();
Conexao.CloseDB();
return true;
}
catch(Exception e){
System.out.println(e.getMessage());
JOptionPane.showMessageDialog(null, "ERRO: "+e.getMessage()+" "+e.getStackTrace(),"ERRO BACKUP",JOptionPane.ERROR_MESSAGE);
return false;
}
}
ERRO -->> Cannot run program "C:\Program Files\PostgreSQL\8.3\bin\pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f "D:\Backup\nomeDoArquivo.backup" "Projeto_ElShaday"": CreateProcess error=2, The system cannot find the file specified
acusa que não consegue encontrar o file especificado, e ja tentei de tudo! só pra informar, eu busco o caminho-destino do backup com um JFileChooser, então o caminho não tem como estar errado! poderia ser a linha de codigo que é mandada para o Postgres?
Já este abaixo encontrei hoje mesmo, bastante simples e até então roda perfeitamente, com uma restrição, ele executa o processo, mas não sei o motivo da um erro onde simplesmente é iniciado o arquivo.backup, mas não é concluído (trava), é como se entrasse em um LOOP e não terminasse mais, aparece com 0 kb de tamanho, não permite exclusão, a menos que reinicie a máquina, onde continua zerado seu tamanho só que permite a exclusão. Mas não reporta erro algum!public boolean Backup1(BackupDTO backupDTO){
try{
Process process = Runtime.getRuntime().exec("C:\\Program Files\\PostgreSQL\\8.3\\bin\\pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f \"" + backupDTO.getNome() + ".backup\" Projeto_ElShaday");
return true;
}
catch(Exception e){
System.out.println(e.getMessage());
JOptionPane.showMessageDialog(null, "ERRO: "+e.getMessage()+" "+e.getStackTrace(),"ERRO BACKUP",JOptionPane.ERROR_MESSAGE);
return false;
}
}
segui todos os passos mas não deu certo: "sem o '-v' com '-v', .... ou seja, tentei de tudo mas não ocorre nada!
Obrigado desde já pela atenção e tenhão uma ótima sexta e final de semana, abraços.