Como crear backups de base de datos de visual fox

vorito13
22 de Noviembre del 2005
Holas amigos:

Por fa ayuda desarrolle un sistema en visual fox, lo que ahora necesito es crear una rutina o si ya existe conocerla o alguna herramienta propia de Visual fox que me permita realizar backups y restaurar la base de datos hecha en Visual Fox. Por fa es urgente ya busque por todo lugar y nadie me dice nada, a ver si aca tengo suerte.

Gracias de antemano. Espero respuesta pronta

foxfeliz
22 de Noviembre del 2005
IF MESSAGEBOX("Inicia la copia de los archivos?",33,"Copias") = 1
CLOSE DATABASES all
cCarpeta = "COPIA"
IF !DIRECTORY(cCarpeta)
WAIT WIND [ Creando carpeta....] NOWAIT
MD &cCarpeta
ENDIF

cCarpetaDestino = CURDIR() + cCarpeta + ""
lnDBFCont = ADIR( laDbfList, '*.DBF')
*WAIT WINDOW lnDBFCont
*--- Bucle de los archivos en la lista.
FOR nCnt = 1 TO ThisForm.ListaArchivos.ListCount
*--- Nombre del archivo a copiar.
cArchiCopiar = ALLTRIM(ThisForm.ListaArchivos.List(nCnt))

*--- Carpeta de destino y archivo a copiar.
cDestino = cCarpetaDestino + cArchiCopiar
*--- Inicio la copia

WAIT WIND [ Un momento por favor, copiando...] + cArchiCopiar NOWAIT
COPY FILE &cArchiCopiar TO &cDestino
&&COPY FILE ACUMOV.DBF TO CURDIR() + "COPYAGO" + "ACUMOV.DBF"
ENDFOR

WAIT CLEAR
=MESSAGEBOX("Copia en su Unidad de Disco Duro ha finalizado satisfactoriamente.",64,"Copias")
thisform.lABELBASE2.Caption = cCarpetaDestino
ENDIF

si tienes dudas contactame...

foxfeliz
22 de Noviembre del 2005
PARA CORREGIR =====>

cDirectorioOriginal = CURDIR()

CLOSE ALL
CLOSE DATA ALL

DO CORRIGE
This.BorraInnecesarios


* Indexo las bodegas/almacenes
******************************
FOR nCnt = 1 TO This.Lista.ListCount

* Guardo la carpeta a indexar
****************************
cCarpetaIndexa = '\' + ALLT(This.Lista.List(nCnt))

* Voy a la carpeta
******************
CHDIR ( cCarpetaIndexa )

* Ejecuto el programa generico de indexamiento
**********************************************
DO CORRIGE
This.BorraInnecesarios
ENDFOR

CHDIR ( cDirectorioOriginal )
CLOSE ALL

***************************************
***PROGRAMA CORRIGE
*****************************************
*-- Este es un programa gen茅rico verificar errores en las tablas e
*-- indices existentes para cada tabla en el directorio actual.
*-- No tiene en cuenta las bases de datos,
*-- o supone que es necesario que la base de datos se encuentre
*-- abierta, de forma que es posible acceder a las tablas
*-- que hay en ella

*-- Cierra las tablas abiertas
CLOSE ALL
CLOSE ALL

*-- crea una lista de archivos dbf en este directorio
lnDBFCont = ADIR( laDbfList, '*.DBF')
*-- abre cada tabla en la lista
FOR lnDBFNo = 1 TO lnDbfCont
*-- el nombre del archivo est谩 en la columna 1 de la lista
*-- coloca el nombre de la tabla en una variable como
*-- c贸digo reutilizable
STORE laDbfList[ lnDbfNo, 1] TO lcDbfNom

*-- abre la tabla de forma exclusiva
*-- puede ser abierta con la sustituci贸n del nombre,
*-- ya que el nombre de la tabla est谩 contenido en la
*-- variable "lcDbfNom"
USE ( lcDBFNom ) EXCLUSIVE

* Elimino los registros marcados
********************************
PACK

IF RECCOUNT() > 0

* Informa al usuario
********************
WAIT WINDOW "Buscando Errores " + CURDIR() + lcDbfNom + " " + ;
LTRIM( STR( RECCOUNT() ) ) + ;
" Registros" NOWAIT

* Copio los datos a una tabla temporal
**************************************
COPY TO TEMPO.MAL

* Elimino los registros
***********************
ZAP

* Agrego nuevamente los registros
*********************************
APPEN FROM TEMPO.MAL

ENDIF

*-- cierra la tabla
CLOSE ALL
*-- hace lo mismo con la tabla siguiente en la lista
*-- avanza contador de lista
ENDFOR

IF FILE("TEMPO.MAL")
DELE FILE TEMPO.MAL
ENDIF

WAIT CLEAR
CLOSE ALL

**************************************************
***THISFORM.BORRAINNECESARIOS
****************************************************

DELE FILE *.TBK
DELE FILE *.BAK