Como fazer Backup de Base de Dados em Java sem depender do S.O

0 respostas
ruben_m

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!

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);
        }

Aguardo vossas dicas!

Abraços :thumbup:

Criado 10 de fevereiro de 2012
Respostas 0
Participantes 1