bons dias
o backup funciona e tal mas o meu maior porblema e o seguinte:
code:
Process p = r.exec(" “C:\Programas\PostgreSQL\8.2\bin\pg_dump.exe” -U postgres -b -Fc -i teste -f "+caminho+a+b);
este programa vai buscar apenas a tabela teste… ja pos uma vareavel a tomar o valor onde em vez de teste ponho “+a” mas passa a dar erro no “-f”…
o meu maior problema e que a db tem de ser daqdo pelo utilzador e nao consigo por a variavel direito la…
Se o “caminho” for um nome de arquivo contendo espaços, veja se é possível passar aspas no comando.
Processp=r.exec(" \"C:\Programas\PostgreSQL\8.2\bin\pg_dump.exe\" -U postgres -b -Fc -i teste -f "+"\""+caminho+a+b+"\"");
A propósito, que raio de nome de variável é “a” e “b”? Não tenha preguiça de usar nomes mais elucidativos
otaviofcs
reshpu:
code:
Process p = r.exec(" “C:\Programas\PostgreSQL\8.2\bin\pg_dump.exe” -U postgres -b -Fc -i teste -f "+caminho+a+b);
Tem alguma coisa errada nesse dump e por isso a reclamação. O que o pg_dump não está entendendo é essa variável teste solta aí no seu sistema. Vamos ao man do pg_dump:
[list] -t table
--table=tableDumpdatafortableonly.Itispossiblefortheretobemulti‐pletableswiththesamenameindifferentschemas; if that isthecase,allmatchingtableswillbedumped.Specifyboth--schemaand--tabletoselectjustonetable.
[/list]
Se você quer só uma tabela a estrutura é, no seu caso:
você pode omitir o -d se o seu banco de dados se chamar postgres (meio ruim isso, né?) ou se não tiver num banco de dados (só num schema, esse conceito é um pouco diferente, mas é igual o do oracle).