Copiar tabla en uso por otra aplicación

Mi intención es realizar una copia de una tabla específica que se actualiza cada 5 segundos aproximadamente. Esta tabla esta en uso por otro sistema fox, que no es de mi desarrollo. El problema es que al intentar copiarla, en ocasiones me da error por estar en uso. La tabla que quiero copiar es un backup, que necesito para realizar cálculos con otro sistema. ¿Existe alguna forma de validar cuando no este en uso y copiar en ese momento o de reintentar la copia hasta que se libere el archivo? Espero su respuesta y si necesita mas detalles se los puedo brindar.

El sistema operativo donde todo ocurre es Windows Server 2012 R2

Respuesta
1

Puedes validar si en ese momento esta abierto, y hacer la copia en caso de no estarlo y abrir un bucle que lo intente hasta que lo logre

cArchivo = 'C:\carpeta\archivo.dbf'

nArchivo = 0
do while nArchivo <= 0
nArchivo = FOPEN(cArchivo, 2 )
IF nArchivo > 0
=FCLOSE( nArchivo )
*haz tu copia
? "El archivo se copió correctamente.")
ELSE
? "El archivo se encuentra en uso. No se pudo transferir.")
Endif
Enddo

¡Gracias! Voy a probar, me gustó esta forma, estuve probando una variante con robocopy y funciona, pero es molesto usar programas externos para algo tan sencillo.muchas gracias por tu tiempo! Te cuento como me fue. Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas