La Web del Programador: Comunidad de Programadores
 
    Pregunta:  19233 - ALTERACIONES EN BASES DE DATOS
Autor:  FABIO ADOLFO MALDONADO BECERRA
Tengo una aplicación desarrollada en Clipper 5.2 la cual corre bajo Windows 98 2E y es accesada mediante la red de Windows 98 por 5 equipos. Ocasionalmente se presentan alteraciones en el contenido de los registros de datos, es decir, se cambian arbitrariamente los datos contenidos en los campos de determinados registros sin razón aparente, será acaso que tiene algo que ver la versión de Windows?.

Quisiera saber cuales pueden ser las posibles causas y sus respectivas soluciones a este problema.

Mil gracias de antemano

  Respuesta:  Nelson Mendez
Fabio.

Si estas programando en red tienes que tener en cuenta lo siguiente:
*Cada vez que agregas un registro al al archivo debes bloquearlo 'flock' (Me imagino que lo estas haciendo, de todas maneras revisa )
*Otra de las causas podrian ser los archivos indice, si creas un indice en un programa y despues no lo utilizas en otro y modificas el tamaño del archivo vas a enredar todo. Solucion: cada archivo indice que tengas declararlo en todos los programas cada vez que abras el dbf al cual corresponde.
Ejemplo:
Si tienes un programa que se llama cuentas que continene lo sig.

USE CUENTAS INDEX CUENTA1

y luego tienes otro que se llama modcta contiene lo sig.

USE CUENTAS INDEX CUENTA2

cada vez que agregas o eliminas un registro uno de los dos indices se desactualiza.

la solucion seria colocar en los dos programas

USE CUENTAS INDEX CUENTA1, CUENTA2

Espero que la ayuda llegue a tiempo.