Registros perdidos por problema de indices

18/08/2005 - 11:30 por Rolando Uculmana | Informe spam
Estimados amigos, espero alguien pueda ayudarme.

Estoy trabajando con vfp 6.0. Probe tambien con vfp 7 y el problema sigue.

Me ocurrió que en algun momento un archivo de índice se dañó. El daño se
hace evidente cuando se carga el TAG de la tabla y se recorre el archivo
manualmente, al pasar el puntero por ciertos registros de la tabla se
presenta el mensaje de error: EL INDICE NO CORRESPONDE A LA TABLA. ELIMINE
EL ARCHIVO DE INDICE Y VUELVA A CREARLO.

El problema es que si no hago esto, el programa no se da cuenta que el
indice esta mal y aparentemente sigue grabando de forma normal. Es decir
sigue aceptando operaciones que no dan ningun error pero luego al ver la
tabla los registros no se han grabado.

Lo mas curioso es que incluso la grabación de la tabla esta dentro de un
BEGIN TRANSACTION y la he puesto en buffer para actualizarla con un
TABLEUPDATE(), sin embargo el tableupdate no da ningun error. Incluso
luego de hacer el update hago un seek sobre la tabla al registro añadido y
supuestamente lo encuentra. También he hecho un select luego de hacer el
tableupdate y me muestra el registro, pero cuando se finaliza la
transacción solo los cambios en esa tabla que tiene el indice malo han
desaparecido. Lo unico que me ha funcionado para hacer saltar el error ha
sido poner un BROWSE luego de actualizar la tabla, pero no es una solución
muy simpatica.

Alguien tiene una forma de detectar ese tipo de fallas desde el inicio del
formulario para evitar perder información???

saludos,

Rolando Uculmana


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway

Preguntas similare

Leer las respuestas

#6 Jd
24/08/2005 - 21:06 | Informe spam
Hola foristas:

La explicacion va mas o menos asi Resulta que cuando tu intriduces un
registro por medio de APPEND/INSERT, el motor de fox lo que hace es que en
el DBF incrementa el contador de registros del archivo, despues de eso,
aumenta el tamaño del archivo DBF para contener el registro y lo pone en
blanco para que tu ya ingreses tus datos, el problema es que si algo pasa
entre esos 2 puntos (apagon de luz, baja de corriente, reinicio por medio de
CTRL-ALT-SUPR, etc) la tabla se corrompe. Al menos eso es lo que dice la
documentacion que he leido.

Actualmente estoy trabajando en esa rutina de deteccion de ESTE tipo de
corrupcion, y ya casi la tengo, en cuanto la tenga la publico aqui en este
Topic, digo que este tipo de corrupcion puesto que hay otros tipos mas que
tienen que ver con los campos Memo y otros tantos que ire añadiendo a mi
rutina.

Saludos y les escribo pronto.

LSC Juan de Dios Corrales Leal
Depto de Software
Manrique Computación S.A.
Los Mochis, Sin. Mexico.
"Ricardo Soto" escribió en el mensaje
news:
Estimado:

Buena pregunta, las veces que me ha sucedido esto, VFP no permite ingresar
a las tablas, y listo; por tanto, debo recuperar el índice primero par
seguir ingresando datos.

La explicación debería entregarla alguien que maneje profundamente el
tema, a veces me encontrado con "cosas inexplicables" en VFP, pero las
hago de otra manera y el problema se me soluciona; luego mi angustia
termina.

Adios



¡Nada corre cómo un zorro, adelante adelante adelante VFP!


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#7 Gilberto Gabriel Sandoval Lira
01/09/2005 - 02:41 | Informe spam
Hola que tal,

Contribuyendo un poco a la solución de tu problema, lo que yo hago al
crear un sistema con VFP es que a manera de prevención cada vez que
inicia el sistema creo los índices del directorio actual a nivel
programación, de forma automática, tranparente y ejecutándose una sola vez
al día, el usuario no se da cuenta de esto y de esa forma garantizas que
los índices de tu tablas están en buena condición.

ojalá te funcione.

saludos.


-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida