Foros del Web » Programación para mayores de 30 ;) » Java »

Restauración de backup de mysql desde java

Estas en el tema de Restauración de backup de mysql desde java en el foro de Java en Foros del Web. Necesito ayuda con la restauración de una base de datos ya que el código que tengo no me funciona lo utilizo en un botón que ...
  #1 (permalink)  
Antiguo 01/04/2013, 14:01
 
Fecha de Ingreso: abril-2013
Ubicación: michoacan
Mensajes: 1
Antigüedad: 11 años, 1 mes
Puntos: 0
Restauración de backup de mysql desde java

Necesito ayuda con la restauración de una base de datos ya que el código que tengo no me funciona lo utilizo en un botón que al darle clic el usuario solo escoja el archivo y automáticamente genere la restauración aquí les dejo el código:
int resp;
resp=RealizarBackupMySQL.showOpenDialog(this);
if (resp==JFileChooser.APPROVE_OPTION) {
try{
String ubicacion= String.valueOf(RealizarBackupMySQL.getSelectedFile ().toString().trim());
Process child = Runtime.getRuntime().exec("C:\\Program Files (x86)\\MySQL\\MySQL Server 5.0\\bin\\mysql --user=root --password=root --databases forrajera < " + ubicacion);
JOptionPane.showMessageDialog(null,"BaseActualizad a","Verificar",JOptionPane.INFORMATION_MESSAGE) ;
}catch(Exception e){
JOptionPane.showMessageDialog(null, "Error no se actualizo la DB por el siguiente motivo: " + e.getMessage(), "Verificar",JOptionPane.ERROR_MESSAGE);
}
}else{
JOptionPane.showMessageDialog(null,"Ha sido cancelada la actualizacion del Backup");
}
por su ayuda se les agradece mucho.
espero haberme explicado bien.
  #2 (permalink)  
Antiguo 01/04/2013, 15:11
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Restauración de backup de mysql desde java

Hola:

Cuando ejecutas con Runtime.exec() no puedes usar las redirecciones > a fichero ni < de fichero. La salida y la entrada del programa que estás ejecutando se pasan a tu programa java, a través de child.getInputStream() y child.getOutputStream.

Tienes que ejecutar como estás haciendo, pero sin la redirección "< ubicacion". Luego obtienes el OutputStream del process

OutputStream os = child.getOutputStream()

abres el fichero ubicacion de la forma normal, lo vas leyendo y vas metiendo lo leidos en el os de antes

Código java:
Ver original
  1. FileReader fichero = new FileReader(ubicacion);
  2. while (fichero tenga datos){
  3.      lee datos de fichero
  4.      os.write (datos);
  5. }

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: backup, mysql, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:12.