Antes de nada agredecer a todos la atención y el apoyo ofrecido.
Bueno, el caso es que tengo un sistema que desde hace unos dias se comporta de un modo extraño. Claves de indice duplicadas e incluso indices que no respetan la clave de ordenación.
El ultimo caso es el de un indice que al activarlo los registros aparecen ordenados hasta un punto determinado y en ese punto hay un registro que no respeta el orden.
Este fichero tiene mas de 200.000 regs. y el campo que produce este comportamiento es un campo del tipo id (caracter,10) que voy incrementando cada vez que se agrega un registro. Activo el orden voy al final y sumo uno al valor del ultimo registro. En un momento determinado se guarda el numero 1 (a pesar del tamaño del fichero) y todos los que se guardan a continuación se guardan con el número dos, es decir. siempres que voy al final del fichero me encuentro el mismo registro.
Si se vuelven a crear los indices se corrige el error, pero claro no es cuestion de estar regenerando indices cada hora.
De momento lo que he implementado es un control para detectar el momento en que se produce esta situación. Y si el valor que obtengo es inferior a la cantidad de registros es que el índice está mal.
El sistema de ficheros es DBF Y CDX
- Code: Select all Expand view RUN
- Area 9 => LINPRESU [......DATOS\LINPRESU.DBF]
Indices: [....DATOS\LINPRESU.CDX] (4 TAGS)
==> [LINPRES1] CODPRE FOR !DELETED()[ 224271]
[LINPRES2] ENLACE FOR !DELETED()[ 224271]
[LINPRES3] CODCLI+CODART FOR !DELETED()[ 224271]
[LINPRES4] CODART FOR !DELETED()[ 224270]
Reg. 210511 de 224359
Bloqueos: (0)
Filtro:
El tag en el que se produce el error es LINPRES2
y observo que el último tag LINPRES4 tiene un registro menos que el resto ????
Alguien me podría indicar en que circunstancias se puede producir el error, para intentar localizar el problema
Gracias.