ola pessoal
estou com um problema ao efetuar o backup do meu banco atraves do metodo runtime. to conseguindo gerar o arquivo, porem o arquivo está em branco.
jah pesquisei em varios foruns aqui, porem n ficou claro pra mim.
s alguem puder m ajudar agradeço
publicclassBackup{publicvoidrealizaBackup(){Runtimer=Runtime.getRuntime();try{Processp=r.exec(" \"C:\Arquivos de programas\PostgreSQL\8.0\pgAdmin III\pg_dump.exe\" -i -h localhost -p 5432 -U user -F c -b -v -f \"C:\backup\bancodados.backup\" seubanco");if(p!=null){OutputStreamoutputStream=p.getOutputStream();outputStream.write("suasenha\r\n".getBytes());outputStream.flush();outputStream.close();InputStreamReaderstreamReader=newInputStreamReader(p.getErrorStream());BufferedReaderreader=newBufferedReader(streamReader);Stringlinha;while((linha=reader.readLine())!=null)System.out.println(linha);}}catch(IOExceptionioe){ioe.printStackTrace();}}}
Parece que eh igual ao seu mas funciona aki.
daniloCosta
executei esse codigo na minha aplicação, soh q deu no mesmo. gera o arquivo em branco.
e outra quando eu clico no botão que chama o metodo ele trava a tela. tenho q ir no gerenciador de tarefas e fechar o pg_dump, pra fechar a tela.
publicvoidbackup(){Runtimer=Runtime.getRuntime();try{Processp=r.exec(" \"C:\Arquiv~1\Postgr~1\8.4\bin\pg_dump.exe\" -i -h localhost -p 5432 -U escola -F c -b -v -f \"C:\Passivo\bk\bancodadosTeste.backup\" teste");if(p!=null){OutputStreamoutputStream=p.getOutputStream();outputStream.write("12345\r\n".getBytes());outputStream.flush();outputStream.close();InputStreamReaderstreamReader=newInputStreamReader(p.getErrorStream());BufferedReaderreader=newBufferedReader(streamReader);Stringlinha;while((linha=reader.readLine())!=null)System.out.println(linha);}}catch(IOExceptionioe){ioe.printStackTrace();}
kenneth
Fala brow,
Cara, se eu nao me engano, isso acontece porque o pg_dump.exe fica esperando a senha do usuario…
Da uma olhada aqui, acho que o cara conseguiu resolver: