Galera, precisava da orientação. Pois já tentei várias coisas e quando não encontro solução por conta, recorremos aos amigos.
método pra restaurar BKP.
try {
JFC_Backup.setVisible(true);
String bd = "stock";
int result = JFC_Backup.showOpenDialog(null);
if (result == JFileChooser.OPEN_DIALOG) {
File bkp;
bkp = JFC_Backup.getSelectedFile();
String arq = bkp.getPath();
System.out.println("bd " + bd);
System.out.println("arq " + arq);
String[] cmd = new String[3];
cmd[0] = "cmd.exe";
cmd[1] = "/C";
//cmd[2] = "c:\\MySQL\\bin\\mysql -u root -proot -h localhost " + bd + " < " + arq;
//cmd[2] = "c:\\MySQL\\bin\\mysql -u root -proot -h localhost " + bd + " < " + arq;
cmd[2] = "C:\\Program Files\\MySQL\\MySQL Server 5.0\\bin\\mysql -u root -pa10b11c12 -h localhost " + bd + " < " + arq;
Runtime rt = Runtime.getRuntime();
System.out.println("Execing " + cmd[0] + " " + cmd[1]);
proc = rt.exec(cmd);
// any error message?
StreamGobbler errorGobbler = new StreamGobbler(proc.getErrorStream(), "ERROR");
// any output?
StreamGobbler outputGobbler = new StreamGobbler(proc.getInputStream(), "OUTPUT");
// kick them off
errorGobbler.run();
outputGobbler.run();
// any error???
int exitVal = proc.waitFor();
if (exitVal == 0) {
JOptionPane.showMessageDialog(null, "Backup Restaurado com sucesso !");
} else {
JOptionPane.showMessageDialog(null, "Falha ao restaurar backup. \n Verifique as configurações ou entre em contato com o suporte !");
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e, "Erro!", 2);
}
}
Ja coloquei o caminho nas variáveis do ambiente, porém mesmo assim não esta dando certo.
Percebo pelo o que é impresso no compilador, há um problema de espaçamento nessa parte:
C://Program (espaco) Files…
O erro retornado:
bd stock
arq C:\Users\User\Desktop\bkp-stock-08-07-2017.sql
Execing cmd.exe /C
ERROR>‘C:\Program’ is not recognized as an internal or external command,
ERROR>operable program or batch file.
Ja reinstalei o Mysql
Troquei versões
Mudei o caminho, EX: C:\MySql…
Muito tempo atrás eu consegui fazer funcionar, porém não me lembro mais como. Alguma sugestao?