Saudações
Quero saber como faço para fazer um codigo java que faça backup e restore de uma base de dados MySQL , sem depender do ambiente do SO!
Ai vai um trecho do código que uso actualmente (e funciona) , mas procuro algo melhor!
[code]
try {
String arquivo = null;
JFCescolherPasta.setVisible(true); // JFileChooser , criado automaticamente no Netbeans
int result = JFCescolherPasta.showSaveDialog(null);
if(result == JFileChooser.APPROVE_OPTION){
arquivo = JFCescolherPasta.getSelectedFile().toString().concat(".sql");
File file = new File(arquivo);
if(file.exists()){
Object[] options = { “Sim”, “Não” };
int opcao = JOptionPane.showOptionDialog(null,“Este arquivo já existe. Quer sobreescrever este arquivo?”, “Atenção!!!”,
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null,options, options[0]);
if (opcao == JOptionPane.YES_OPTION) {
Runtime bck = Runtime.getRuntime();
bck.exec(“C:/xampp/mysql/bin/mysqldump.exe -v -v -v --host=localhost --user=root --password=igc7gng --port=3306 --protocol=tcp --force --allow-keywords --compress --add-drop-table --default-character-set=latin1 --hex-blob --result-file=”+arquivo+" --databases compuponto");
JOptionPane.showMessageDialog(null, “Backup realizado com sucesso.”, “Tudo OK!”, 1);
}else{
JB_BackupActionPerformed(evt);
}
}else{
Runtime bck = Runtime.getRuntime();
bck.exec("C:/xampp/mysql/bin/mysqldump.exe -v -v -v --host=localhost "
+ "--user=root --password=igc7gng --port=3306 --protocol=tcp "
+ "--force --allow-keywords --compress --add-drop-table "
+ "--default-character-set=latin1 --hex-blob --result-"
+ "file="+arquivo+" --databases compuponto"); //esta linha varia de acordo com a aplicação que uso
JOptionPane.showMessageDialog(null, "Backup realizado com sucesso.", "Tudo OK!", 1);
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e, "Erro!", 2);
}[/code]
Aguardo vossas dicas!
Abraços :thumbup: