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

mi backup no se realiza con otras bsase de datos

Estas en el tema de mi backup no se realiza con otras bsase de datos en el foro de Java en Foros del Web. Hola amigos acá de nuevo con otro problemita.... y es que tengo problemas al realizar el backup de mi base de datos con una base ...
  #1 (permalink)  
Antiguo 03/05/2012, 01:43
 
Fecha de Ingreso: enero-2011
Ubicación: Cuba
Mensajes: 124
Antigüedad: 13 años, 3 meses
Puntos: 1
Sonrisa mi backup no se realiza con otras bsase de datos




Hola amigos acá de nuevo con otro problemita.... y es que tengo problemas al realizar el backup de mi base de datos con una base de datos externa, o sea no en localhost...... acá le dejo el código para que le echen un vistazo

int resp;
JFileChooser RealizarBackupMySQL = new JFileChooser();
resp=RealizarBackupMySQL.showSaveDialog(this);//JFileChooser de nombre RealizarBackupMySQL
if (resp==JFileChooser.APPROVE_OPTION) {//Si el usuario presiona aceptar; se genera el Backup
archivo = RealizarBackupMySQL.getSelectedFile();
txtArch.setText(archivo.getAbsolutePath());
try{
Runtime runtime = Runtime.getRuntime();
File backupFile = new File(String.valueOf(RealizarBackupMySQL.getSelecte dFile().toString())+".sql"); // '"+pasW+"'
FileWriter fw = new FileWriter(backupFile);
String d="C:\\Archivos de programa\\MySQL\\MySQL Server 5.1\\bin\\mysqldump --opt --host=" + servidor + " --port=3306" +
" --user=" + usuario + " --password=" + pasW +
" --compact --complete-insert --extended-insert --skip-quote-names" +
" --skip-comments --skip-triggers facturacion1";
Process child = runtime.exec(d);

InputStreamReader irs = new InputStreamReader(child.getInputStream());
BufferedReader br = new BufferedReader(irs);

String line;
while( (line=br.readLine()) != null ) {
fw.write(line + "\n");
}
fw.close();
irs.close();
br.close();

txtMensRes.setText("\n>> Archivo generado correctamente.\n");
}catch(Exception e){
txtMensRes.setText("\n>> Error no se generó el archivo por el siguiente motivo:\n"+e.getMessage());

}

} else if (resp==JFileChooser.CANCEL_OPTION) {
txtMensRes.setText("Ha sido cancelada la generación del Backup.");

}
//************************************************** ********

este me funciona a la perfección con mi base de Datos localhost pero si quiero hacerle el backup a otra base de datos que estuviese en otro servidor me dice que se ha creado el backup correctamente pero cuando le doy abrir al archivo.sql que me genera este está vacío ..... la verdad es que no tengo ni idea del porque me está pasando esto....... espero me puedan ayudar una vez mas.....
estoy trabajando con netbbeans 6.8 desde una aplicación de escritorio....TODA AYUDA O CONSEJO ES BIEN RECIBIDO...
GRACIAS DE ANTEMANOS......
  #2 (permalink)  
Antiguo 03/05/2012, 02:53
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: mi backup no se realiza con otras bsase de datos

Da la impresión de que quieres hacer un backup de una base de datos que está en otro servidor, pero tu código solo sirve para hacer backup de la base de datos donde ejecutas el cliente.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 08/05/2012, 21:54
 
Fecha de Ingreso: enero-2011
Ubicación: Cuba
Mensajes: 124
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: mi backup no se realiza con otras bsase de datos

esa es la idea pero no se como hacerlo podrías darme una sugerencia ....
  #4 (permalink)  
Antiguo 09/05/2012, 00:43
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: mi backup no se realiza con otras bsase de datos

Pues si la variable "servidor" es la IP o nombre de otro servidor, debería funcionar.

No estaría de más que intentaras el comando desde línea de comandos y vieras si funciona bien, puede haber otros problemas que no son de tu código, como no tener acceso a ese puerto en otro servidor por algún firewall o que el servidor de mysql del otro servidor no acepte conexiones remotas (cosa bastante habitual).

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 10/05/2012, 00:26
 
Fecha de Ingreso: enero-2011
Ubicación: Cuba
Mensajes: 124
Antigüedad: 13 años, 3 meses
Puntos: 1
Sonrisa mi backup no se realiza con otras bsase de datos



Lo de probar con la linea de comandos no tengo ni idea si puedes darme un ejemplo de como lo puedo hacer te lo voy a agradecer muchísimo....... por otra parte el servidor al que le quiero hacer el backup si acepta conexiones remotas porque desde mi PC me puedo conctar a mi BD......solo que no me crea el archivo .sql pero está vacio...
  #6 (permalink)  
Antiguo 10/05/2012, 00:45
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: mi backup no se realiza con otras bsase de datos

Hola:

Cambia esto

InputStreamReader irs = new InputStreamReader(child.getInputStream());

por esto

InputStreamReader irs = new InputStreamReader(child.getErrorStream());

si hay algún problema con el comando, te saldrá en el fichero el error.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #7 (permalink)  
Antiguo 10/05/2012, 22:04
 
Fecha de Ingreso: enero-2011
Ubicación: Cuba
Mensajes: 124
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: mi backup no se realiza con otras bsase de datos

le agregé este codigo para ser mas especifico

Process child = runtime.exec("C:\\Archivos de programa\\MySQL\\MySQL Server 5.1\\bin\\mysqldump --opt --host=" + servidor + " --port=" + 3306 + " --user=" + usuario + " --password=" + pasW + " --compact --complete-insert --extended-insert --skip-quote-names" + " --skip-comments --skip-triggers "+ "facturacion1" );

pero me pone en el fichero de salida el siguiente error.

mysqldump: Got error: 1044: Access denied for user 'info07'@'%' to database 'facturacion1' when using LOCK TABLES

¿alguna sugerencia?
  #8 (permalink)  
Antiguo 11/05/2012, 03:32
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: mi backup no se realiza con otras bsase de datos

Da la impresión de que el usuario info07 no tiene permisos para bloquear las tablas para el backup. Dale permisos en MySQL o usa otro usuario.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #9 (permalink)  
Antiguo 15/05/2012, 21:32
 
Fecha de Ingreso: enero-2011
Ubicación: Cuba
Mensajes: 124
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: mi backup no se realiza con otras bsase de datos

yo hice un backup a esa misma Bd(facturacion1) pero con un código en php desde mi PC hasta donde está es servidor de MySQL instalado...esto me dice que si tiene permisos ... solo que no se porque me de ese error con mi código en java...

Etiquetas: backup, mysql, programa, 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 05:21.