Opa, boa noite pessoal, dois problemas…
1º- Consigo fazer o backup do meu banco de dados, porém, só consegui destinar um diretório específico, como faria para colocar um selecionador de arquivo dentro do código abaixo??
String novonome = null;
int numerodobackup = 0;
File diretorio = new File("C:/teste");
File bck = new File("C:/teste/cartoes.sql");
if (!diretorio.isDirectory()) {
new File("C:/teste").mkdir();
} else {
}
// Cria Arquivo de Backup
try {
if (!bck.isFile()) {
String comando = "C:\\Program Files\\MySQL\\MySQL Server 5.5\\bin\\mysqldump.exe";
ProcessBuilder pb = new ProcessBuilder(comando, "--user=root", "--password=1234", "cartoes", "--result-file=C:\\teste\\cartoes.sql");
pb.start();
JOptionPane.showMessageDialog(this, "Cópia de segurança realizada com sucesso", "Backup", JOptionPane.CLOSED_OPTION);
} else {
while (bck.isFile()) {
numerodobackup++;
bck = new File("C:/teste/cartoes" + numerodobackup + ".sql");
novonome = String.valueOf(bck);
}
String comando = "C:\\Program Files\\MySQL\\MySQL Server 5.5\\bin\\mysqldump.exe";
ProcessBuilder pb = new ProcessBuilder(comando, "--user=root", "--password=1234", "cartoes", "--result-file=" + novonome);
pb.start();
JOptionPane.showMessageDialog(this, "Cópia de segurança realizada com sucesso!", "Backup", JOptionPane.CLOSED_OPTION);
//dispose();
}
} catch (IOException ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(this, "Copia de segurança não realizada!", "Backup", JOptionPane.CLOSED_OPTION);
}
2º - Já tentei de várias maneiras, mas não consegui, como fazer pra restaurar esse banco, selecionando o local do arquivo para depois terminar de executar o processo??
[quote=fabiocortolan]Se vc está usando interface gráfica, pode usar o JChooser, dá uma pesquisada a respeito, tem muito tempo q usei então não me lembro como fazer mas não é muito complicado.
Este link tem alguns exemplos: http://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html[/quote]
hmm, certo, ja tinha visto esse site meio que por cima, mas nao consegui concluí-lo colocando dentro do meu codigo, precisava de algum exemplo mais pratico pra poder me espelhar… ;D
mas, vou dar mais uma lida nesse material ai pra ver se consigo fazer mais alguma coisa ;D
e quanto a restauração do backup, voce sabe alguma coisa?
Cara, quando deu esse problema aqui, era a senha que fica na conexao do banco de dados que estava errada, ele criava o arquivo no diretório, porem em branco, manda o codigo ai da tua conexao e da classe que ta fazendo backup pra eu dar uma olhada
antes de colocar no codigo, eu estava tentando fazer pelo prompt do dos… e estava dando erro, mas vou tentar fazer pelo codigo, se der algum erro eu posto novamente
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysqldump -opt -u root -p localhost despesas > c:/teste.sql' at line 1
mas o codigo para exportar está certo, ou nao está ?