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

[SOLUCIONADO] Duda en el backup de MySQL en JSP

Estas en el tema de Duda en el backup de MySQL en JSP en el foro de Java en Foros del Web. Hola a todos, utilice un codigo de este foro para realizar un respaldo de la base de datos a traves de jsp, pero tengo dudas ...
  #1 (permalink)  
Antiguo 07/07/2014, 12:36
 
Fecha de Ingreso: junio-2014
Mensajes: 36
Antigüedad: 10 años, 4 meses
Puntos: 0
Duda en el backup de MySQL en JSP

Hola a todos, utilice un codigo de este foro para realizar un respaldo de la base de datos a traves de jsp, pero tengo dudas en ciertas cosas y a ver quien podria aclararmelas.

Código:
<%@page import="java.sql.*" %>
<%
try{
int copia_seguridad;
//Process da acceso a la corriente de entrada, de salida, de error, y el valor de salida del proceso ejecutado
// Runtime permite el acceso al entorno de ejecucion en que se ejecuta el programa
// getRuntime( para acceder al objeto (ejecuta aplicacion externa)
//exe, donde se coloca la linea de comando que ejecuta la aplicacion
Process runtimeProcess = Runtime.getRuntime().exec("C:/xampp/mysql/bin/mysqldump.exe --opt --password=nbuser --user=root --databases basedatossistema -r C:/Users/Sandra/Documents/Nueva.sql");
//waitFor para terminar el proceso
copia_seguridad = runtimeProcess.waitFor(); 
if(copia_seguridad==1){ //porque 1?
out.println("La copia de seguridad no se pudo generar");}
else
if(copia_seguridad==0){
out.println("\nCopia de seguridad creada con exito.\n"+copia_seguridad+"\n Compruebe la ubicación del archivo en el disco local C: con el nombre de NOMBRE_BD"); }
}catch(Exception e){
out.println(e);
} %>
No entiendo muy bien como funciona el waitFor() y porque copia_seguridad es 0, como cambiaria a 1? no tengo muy claro eso, si alguien podria explicarmelo se lo agradeceria mucho.
  #2 (permalink)  
Antiguo 07/07/2014, 13:50
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Duda en el backup de MySQL en JSP

Con Runtime.getRuntime().exec() lanzas el ejecutable y te devuelve un Process.

El waitFor() del process, como indica el comentario, espera que el proceso que has lanzado (el comando de backup en este caso) termine. Ese método waitFor() devuelve un entero que es el resultado del proceso. Convencionalmente, un proceso devuelve 0 si todo ha ido bien y un número distinto de cero si ha habido algún error. En ocasiones ese número puede indicar el error concreto. En cualquier caso, que devuelva 0 para éxito y otro número para error depende del comando en sí (en este caso de mysqldump), no de java.

Salvo que se esté muy seguro de que mysqldump devuelve un 1 en caso de error, lo más correcto sería

Código Java:
Ver original
  1. if (copia_seguridad == 0) {
  2.     // todo ha ido bien
  3. } else {
  4.     // ha habido algún fallo.
  5. }

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 08/07/2014, 11:48
 
Fecha de Ingreso: junio-2014
Mensajes: 36
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Duda en el backup de MySQL en JSP

ok, muchas gracias chuidiang, me quedo claro

Etiquetas: backup, jsp, mysql, objeto, programa, valor
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 11:10.