Haciendo y Restaurando Backups de Mysql con Gambas

Bueno despues de muchas lunas vuelvo a escribir sobre Gambas lamento haber tenido abandonado el tema durante mucho tiempo y dedicarme a postear otras cosas pero espero retomar con fuerza y ayudar a quienes tengan alguna duda con este lenguaje de paso que tambien aprendemos juntos listo entonces hecha la aclaracion manos a la obra.
El asunto es bastante sencillo resulta que necesitamos hacer backups de nuestra base de datos y poder restaurarlos posteriormente en caso de que suceda algun problema asi que creamos una interfaz grafica como esta.

Bueno la interfaz es bastante intuitiva(eso espero XD) asi que vamos a ver una porcion de codigo, cuando le damos click al boton respaldar.

Dialog.Title = "Guardar archivo"
Dialog.Path = "."
'Filtro para tomar solamente extensiones sql
Dialog.Filter = ["*.sql", "Ficheros sql"]
'Variables.CFG_BD_PASS es una variable donde almaceno el password de la base de datos, desde un modulo Variables
pass = " --password=" & Variables.CFG_BD_PASS & " "
IF NOT Dialog.SaveFile() THEN
	ruta = Dialog.Path
ENDIF
	'redireccion es la ruta donde se va a guardar el backup le agregamos el simbolo > como operador de redireccionamiento redireccion = " > " & ruta
	'Usamos SHELL para correr el proceso en este caso mysqldump que es el que realmente hace todo el trabajo para mayor informacion sobre este comando remitirse  a la documentacion de Mysql
	proceso = SHELL "mysqldump -u " & Variables.CFG_BD_USUARIO & pass & Variables.CFG_BD_NAME & redireccion FOR READ

Con lo que obtendriamos la siguiente ventana.


Con lo que inmediatamente guardamos nuestro backup con el nombre que le querramos asignar.
Si queremos restaurarlo el procedimiento es analogo salvo el comando de mysql que es el que se usa para restaurar

Dialog.Title = "Elija una ubicacion"
Dialog.Path = "."
Dialog.Filter = ["*.sql", "Ficheros sql"]
pass = " --password=" & Variables.CFG_BD_PASS & " "
IF NOT Dialog.OpenFile() THEN
	ruta = Dialog.Path
ENDIF
	redireccion = " < " & ruta
	proceso = SHELL "mysql -u " & Variables.CFG_BD_USUARIO & pass & Variables.CFG_BD_NAME & redireccion FOR READ


Y listo eso es todo asi de simple como se habran dado cuenta quien realmente hace el trabajo es mysql lo unico que he hecho con gambas es la interfaz grafica, haciendo uso de la orden SHELL para ejecutar los comandos.
Saludos y hasta la proxima.

Anuncios

3 respuestas a “Haciendo y Restaurando Backups de Mysql con Gambas

  1. Se que ustedes me pueden ayudar.
    Mi problema es que al abrir un archivo de texto miarchivo.txt dando doble clic desde el escritorio para abrirlo con un notepad realizado con Gambas, pues el notepad no lo abre y por su puesto no muestra ningún contenido.
    Si abro el notepad (Programa generado con gambas) y abro el archivo desde el notepad ahí si se abre y muestra el contenido.
    Que puedo hacer para que al dar doble clic el notepad me cargue el archivo.
    He intentado con varias versiones y estilos de notepad que hay en la web y todos general el mismo problema.
    Uso ubuntu 10.10

    Gracias por su ayuda

    Marcos

  2. Buen dia Amigo, lei su blog en cuanto a hacer respaldos y restaurar base de datos me parecio buenisimo y quise usarlo pero cuando lo compilo en gambas me da algunos errores acerca de la declaración que falta de una variables en un modulo llamado Variables será que usted puede ayudarme con eso?? Actualmente estoy desarrollando un sistema para el control de inscripción y asistencia de alumnos y profesores en un liceo publico del estado donde vivo y esta parte es necesaria para completar el sistema..
    Gracias de antemano por la ayuda que me pueda aportar!!!
    Carabobo, Venezuela

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s