SOLUCION A PROBLEMAS DE TABLA DAÑADA EN VFP 9.0
Publicado por Fernando Mora (42 intervenciones) el 18/09/2010 13:20:01
Saludos Comunidad!
Hace un tiempo publique problemas que me venia dando los indices en VFP9, sobre todo cuando se trabaja con tablas de mas cien mil registros. Bueno les tengo bueas noticias.
SOLUCIONE EL PROBLEMA!
El asunto es que VFP9 es muy estricto con la revision de la cabecera de los DBF, y si detecta un ligero problema, lo declara corructo al DBF mostrando el mensaje "Table NombredeTabla has become corrupted. The table will need to repaired before using again"
SOLUCION
SET TABLEVALIDATE TO 0
Este comando era la clave para solucionar mi problema. SET TABLEVALIDATE TO 0 desactiva la validacion, permitiendote abrie el supuesto DBF dañado, lo recomendable es agregar un registro en blanco al final y si deseas lo eliminas (recall), mandas un PACK y lugo un REINDEX, CLOSE ALL (cerramos los DBF) luego volver a activar la validacion SET TABLEVALIDATE TO 1 y listo.
Esto lo estoy aplicando en un modulo de reparacion automatica de mis sistemas. Y me esta dando excelentes resultados.
mas informacion respecto al tema: http://www.portalfox.com/index.php?name=News&file=article&sid=1555
Lo dejo aqui por a alguien mas le sirve.
FERNANDO MORA
MACHALA - ECUADOR
Hace un tiempo publique problemas que me venia dando los indices en VFP9, sobre todo cuando se trabaja con tablas de mas cien mil registros. Bueno les tengo bueas noticias.
SOLUCIONE EL PROBLEMA!
El asunto es que VFP9 es muy estricto con la revision de la cabecera de los DBF, y si detecta un ligero problema, lo declara corructo al DBF mostrando el mensaje "Table NombredeTabla has become corrupted. The table will need to repaired before using again"
SOLUCION
SET TABLEVALIDATE TO 0
Este comando era la clave para solucionar mi problema. SET TABLEVALIDATE TO 0 desactiva la validacion, permitiendote abrie el supuesto DBF dañado, lo recomendable es agregar un registro en blanco al final y si deseas lo eliminas (recall), mandas un PACK y lugo un REINDEX, CLOSE ALL (cerramos los DBF) luego volver a activar la validacion SET TABLEVALIDATE TO 1 y listo.
Esto lo estoy aplicando en un modulo de reparacion automatica de mis sistemas. Y me esta dando excelentes resultados.
mas informacion respecto al tema: http://www.portalfox.com/index.php?name=News&file=article&sid=1555
Lo dejo aqui por a alguien mas le sirve.
FERNANDO MORA
MACHALA - ECUADOR
Valora esta pregunta
1