Então vc está me dizendo que a String impressa no consolenão corresponde à String de execução?
>> pg_dump -i -h 127.0.0.1 -p 5432 -U postgres -F c -b -o -v -f
>> "H:/Backup/BDFisio.backup " "fisio"
Process p = p.getRuntime("pg_dump -i -h "+ ip +" -p 5432 -U postgres -F c -b -o -v -f /"H:/Backup/BDFisio.backup/" /"fisio/"");
O Osvaldo tem razão, *não* é a mesma...
Ainda não consegui enxergar o ERRO!
A não ser que eu tenha que retirar as aspas dulas /" ... /" do nome do banco de dados (fisio). Será que pode ser isso?
Simples, você coloca na variável cmd e depois concatena novamente, porque não usa a cmd?
Veja, não tem espaço (peço desculpas aos demais pelo HTML):
Process p = r.exec("pg_dump -i -h"+ ip +"-p 5432 -U postgres -F c -b -o -v -f \"H:/Backup/BDFisio.backup \" \"fisio\"");
E a solução é ainda mais simples, use a variável cmd que você já setou:
String cmd = "pg_dump -i -h "+ ip +" -p 5432 -U postgres -F c -b -o -v -f \"H:/Backup/BDFisio.backup \" \"fisio\"";System.out.println(cmd);Process p = r.exec(cmd);Atenciosamente,
--
Matheus de Oliveira
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Adicionalmente, recomendo ao colega verificar se a aplicação Java está usando o mesmo binário do pg_dump que o script bat.
Pode ser que não. Especialmente em Windows e máquina que já teve servidor PostgreSQL e PgAdmin instalados separadamente.
pg_dump --version pode ser executado via Java e via bat pra conferir.
Passe o caminho completo do executável da versão certa no código para resolver.
[]s
Flavio Henrique A. Gurgel Consultor e Instrutor 4Linux Tel: +55-11-2125-4747 www.4linux.com.br
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
