Restaurar Bancos de Dados com a linguagem java e banco de dados mysql

1 resposta
javamysql
Thello

Boa noite galera,

Estou com um problemas, na parte de restaurar o backup, quando estou com o banco criado e pretendo realizar um backup para restaurar ele fica em um lup eterno, mais realizando teste percebi que se eu deletar o banco e utilizar o backup para restaurar funciona perfeitamente.

Gostaria de uma ajuda para auxiliar como faço um método para excluir o banco de dados na hora que executar o backup.

segue o código.

package com.mez.controller;

import java.io.Serializable;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import javax.servlet.ServletContext;

import org.primefaces.event.FileUploadEvent;

@ManagedBean
@SessionScoped
public class RestaurarBackupControle implements Serializable {

	@Inject
	private EntityManager manager;
    private String lblMessage;
    ServletContext ctx = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
    String basePath = ctx.getRealPath("/");

    private String txtPath = basePath + "backup";

    public void upload(FileUploadEvent event) {

        if (event.getFile().getFileName().equals("")) {
            lblMessage = "Please Select file to restore!";
            System.out.println(lblMessage);
        } else {
            restoreDB("root", "root", txtPath + "/" + event.getFile().getFileName());
            System.out.println(txtPath + "/" + event.getFile().getFileName());
        }
    }

    public boolean restoreDB(String dbUserName, String dbPassword, String source) {
    	
        //  String[] executeCmd = new String[]{"C:\\Program Files\\MySQL\\MySQL Server 5.0\\bin\\mysql ", "--user=" + dbUserName, "--password=" + dbPassword, "-e", "source " + source};
        String[] executeCmd = new String[]{"C:\\backup\\mysql ", "--user=" + dbUserName, "--password=" + dbPassword, "-e", "source " + source};

        Process runtimeProcess;
        try {

            runtimeProcess = Runtime.getRuntime().exec(executeCmd);
            int processComplete = runtimeProcess.waitFor();

            if (processComplete == 0) {
                lblMessage = "Backup restored successfully!";
                System.out.println(lblMessage);
 FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO.toString(),"Backup restaurado com Sucesso!"));

                return true;
            } else {
                lblMessage = "Could not restore the backup!";
                System.out.println(lblMessage);
 FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO.toString(),"Backup não restaurado, favor entrar em contato com o Administrador!"));

            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }

        return false;
    }
}

1 Resposta

T

http://www.tutorialspoint.com/jdbc/jdbc-drop-database.htm

Criado 16 de outubro de 2016
Ultima resposta 23 de out. de 2016
Respostas 1
Participantes 2