Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Como hacer backup de una base de datos Mysql mediante codigo delphi 7 (https://www.clubdelphi.com/foros/showthread.php?t=52984)

OscarBravo 06-02-2008 21:55:40

Como hacer backup de una base de datos Mysql mediante codigo delphi 7
 
Saludos a todos

En realidad tengo dos inquietudes, en las que solicito su colaboración:

1) Como realizar un backup de una base de datos Mysql mediante código delphi 7 ?
yo siempre la hago utilizando una de las opciones de sqlYog y me genera un archivo de texto con la extención .sql pero no es lo correcto, quisiera manejarlo mediante una opción de mi programa de modo que sea un proceso transparente para el usuario.
Para enlazar la base de datos utilizo DbExpress


2) Cual creen ustedes que es la mejor manera de manejar una aplicación:
  • Con controles ligados a datos
  • Con controles sin ligar a datos
Agradezco la colaboración

rruz 09-02-2008 04:08:02

Hola una posible solucion seria

RESPALDO

1. generar una tabla de registros de respaldos (fecha,hora,ruta,bdd) con esto podrias generar un mantenedor de respaldos y restaurar a tu antojo el respaldo que tu desees. (OPCIONAL)

2. ejecutar proceso de respaldo
2.1 Crear directorio de respaldo ej: C:\Backups\mibdd_20080208_2354 (Ruta fija + nombre bdd + fecha + hora)
2.2 dentro de un Tquery o Adoquery (segun corresponda) ejecutar "SHOW tables from mibdd" con esto obtenemos los nombres de las tablas a respaldar
2.3 Luego recorrer el Dataset anterior ejecutando con otro Query SELECT * INTO OUTFILE 'c:\\Backups\\mibdd_20080208_2354\\'+AdoQuery1.Fields[0].Value+'.dat' FROM '+AdoQuery1.Fields[0].Value

con esto estamos respaldando cada tabla en el directorio definido por nosotros.

RESTAURACION

Ahora para restaurar (recuerdas el punto 1?) seleccionamos un respaldo especifico.

1. extraemos la ruta a leer
2. cargamos la lista de los archivos respaldados
3. y ejecutamos lo siguiente para cada archivo dentro de un Query (TQuery, Adoquery, etc)

'LOAD DATA INFILE '+RutaArchivo+Archivo'+' REPLACE INTO TABLE '+nombre tabla.

recuerda que debes agregar las validaciones correspondientes a este esquema como:

1. Existencia de tablas de origen y destino.
2. Agregar la sentencia LOCAL a los comandos para poder respaldar en la maquina cliente.
3. Agregar algun esquema de chueque de integridad de datos CRC o algo asi.
4. Etc.



Espero que te sirva es solo una idea.

Saludos


La franja horaria es GMT +2. Ahora son las 05:44:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi