Então vc está me dizendo que a String impressa no console


>> pg_dump -i -h 127.0.0.1 -p 5432 -U postgres -F c -b -o -v -f
>> "H:/Backup/BDFisio.backup " "fisio"

 
não corresponde à String de execução?

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

Responder a