[quote=discorpio]Boa tarde Wellington.
Você pode resolver isto criando um arquivo *.bat de modo que você possa fazer dentro deste arquivo a seleção da pasta através do comando ChDir o CD do DOS, e passar somente os parâmetros de usuário, database, arquivo de origem e destino. Depois é só invocar o arquivo *.bat passando este parâmetros, pois afinal arquivos *.bat também aceita parâmetros com o caractere "%" (porcentagem) seguido de um número que indica a posição do parâmetro passado, ou seja, se você passa dois parâmetros, o "%1" será o primeiro parâmetro passado e assim sucessivamente.
Abra o NotePad e escreva este código:
@echo off
CD C:\Program Files\MySQL Server 5.1
mysqldump -u %1 -p %2 > %3
Agora dentro do NotePad, vá no menu arquivo e salvar como e no rodapé da caixa de diálogo, clique na combo salvar como tipo ou save as type em inglês, e escolha todos os arquivos, e na combo file name renomeie para "MySqlBackup.bat". Detalhe que você pode salvar dentro de qualquer diretório (pasta), que ele vai selecionar a pasta onde está instalado o MySQL.
Dentro do Método em Java, mude para este código.
public class MySqlDump {
public static void makeBackup(
String filename,
String username,
String password,
String databases ) throws IOException {
if ( databases == null || databases.trim().equals( "" ) ) databases = "--all-databases";
String pwdb = password+" "+databases;
Process p = Runtime.getRuntime().exec( "MySqlBackup "+username+" "+pwdb+" "+filename);
}
}
Detalhe que para executar arquivos *.bat, não preciso utilizar o "cmd /C"
Detalhe também é que procure passar o caminho do arquivo junto com o seu nome para o parâmetro do método, isto facilita muito no desenvolvimento.
Rode ai e vê se funciona.
Um abraço.
[/quote]
discorpio. O seu jeito funcionou também. Obrigado… mas eu fiz da seguinte maneira:
String caminhoMySQLDump = sistemaDAO.getMySqlPath();
String comando= caminhoMySQLDump + "bin\\mysqldump.exe";
ProcessBuilder pb=new ProcessBuilder(comando,"--user=" + ConexaoDB.getLoginSQL(),
"--password="+ConexaoDB.getSenhaSQL(),"wopizzarias","--result-file="
+ caminhoArquivo + nomeArquivo);
pb.start();