Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-09-2004
TDworD TDworD is offline
Miembro
 
Registrado: nov 2003
Posts: 23
Poder: 0
TDworD Va por buen camino
Corrupción de Tablas

Saludos a todos,

Creo que tengo un problema ya conocido por todos, una aplicación Delphi que accede a unas tablas paradox. Con el tiempo estas tablas se corrompen, fallan los índices y las cabeceras de las tablas, etc...

He estado buscando documentación al respecto y he encontrado utilidades para corregirlo, pero el problema se esta volviendo demasiado habitual y no puedo ir cada dos por tres a solucionarlo. También he leido de un código fuente que permite reconstruir tanto la tabla como los índices si se detecta ese error, pero no lo he encontrado.

En algunos sitios he leido que podría ser un problema de configuración, pero no he visto nada que indique que parámetro tengo mal configurado.

Me gustaría terminar con este problema de una manera definitiva para que no volviera a ocurrir, tanto para este proyecto como para futuros proyectos que tengo que realizar ¿podeis ayudarme?.

He visto un truco de hacer un pack de las tablas que parece reconstruirlas, no se si con eso se podría solucionar el problema, ya que las tablas que manejo no son muy grandes (menos de 5000 registros) ¿sería viable hacer un pack de las tablas al iniciar la aplicación? ¿reconstruiría el pack la cabecera de la tabla y los índices solucionando el problema?

Un saludo y gracias.

Última edición por TDworD fecha: 28-09-2004 a las 14:37:34.
Responder Con Cita
  #2  
Antiguo 28-09-2004
jgutti jgutti is offline
Miembro
 
Registrado: may 2003
Posts: 189
Poder: 21
jgutti Va por buen camino
TDworD
Existe una utilidad de nombre SysUtils que se encuentra en la red y permite recuperar los archivos corruptos.
Si no lo encuentras te lo puedo enviar por e-mail

atte

jgutti
Responder Con Cita
  #3  
Antiguo 28-09-2004
jgutti jgutti is offline
Miembro
 
Registrado: may 2003
Posts: 189
Poder: 21
jgutti Va por buen camino
si el error de los index es este "Index out of date" y utilizas servidor con windows nt,2000,2003.

La solución esta en una página de borland, que explica que hay que desactivar los bloqueos oportunistas de windows NT. Tienes que añadir en el registro de windows lo siguiente:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters

Una clave de Tipo DWORD que se llame EnableOpLocks con el valor 0.

(Información Técnica número 3342 de Borland.)

atte
jgutti
Responder Con Cita
  #4  
Antiguo 28-09-2004
TDworD TDworD is offline
Miembro
 
Registrado: nov 2003
Posts: 23
Poder: 0
TDworD Va por buen camino
Muchas gracias jgutti, pero por desgracia en esta ocasión el error es por corrupción de datos.

He encontrado el siguiente enlace:

http://www.softwarementors.com/arti/...x/reppdxnf.htm

en el se explica detalladamente como usar una unidad llamada TUtility para arreglar tablas paradox. Parece ser que no hay una buena solución para el problema, pero al menos con esta unidad y algo de programación se puede reconstruir la tabla. Probaré a ver.

Muchas gracias por la ayuda.

Un saludo.
Responder Con Cita
  #5  
Antiguo 28-09-2004
jgutti jgutti is offline
Miembro
 
Registrado: may 2003
Posts: 189
Poder: 21
jgutti Va por buen camino
La utilidad que te comentaba (sysutils) es para recuperar tablas corruptas no importando el error

- lo del registro es para el mensaje Index out of date.
Responder Con Cita
  #6  
Antiguo 28-09-2004
Avatar de Pablo Carlos
Pablo Carlos Pablo Carlos is offline
Miembro
 
Registrado: jun 2004
Ubicación: Mendoza - Argentina
Posts: 270
Poder: 20
Pablo Carlos Va por buen camino
Hola... tengo un prg que baje del club que corrige los índices... puedes buscarlos en el club y ver el código y adaptarlo a tu prg para que al iniciar te verifique los índices y si están corruptos que los arregle sin preguntar... además de agradecer al autor

Saludos
__________________
Por qué todas las personas saben exactamente cómo debemos vivir nuestra vida, y nunca tienen idea de cómo deben vivir sus propias vidas.
Responder Con Cita
  #7  
Antiguo 29-09-2004
TDworD TDworD is offline
Miembro
 
Registrado: nov 2003
Posts: 23
Poder: 0
TDworD Va por buen camino
Muchas gracias a todos por vuestra ayuda, ya me he bajado la aplicación SysUtils que ha corregido la corrupción de datos, por desgracia la aplicación esta en un cliente, y no puedo comentarle que cada vez que haya un error debe entrar en la aplicación para solucionarlo, y tampoco puedo ir yo cada vez.

Por desgracia necesito una solución que me "garantice" con cierta seguridad que esto no vuelva a suceder. Por desgracia, por lo que he visto la única manera es modificar la programación para detectar la corrupción y reconstruir las tablas en ese caso. Este proceso no me da demasiada confianza. Finalmente creo que me voy a decantar por cambiar la base de datos del programa, creo que la pasaré a MySQL, por fortuna la aplicación esta lo bastante bien estructurada y es lo suficientemente pequeña como para realizar ese cambio sin sufrir muchos problemas.

Un saludo y gracias por vuestra colaboración. Hacía mucho tiempo que no entraba en el foro y es un placer ver como sigue habiendo gente tan colaboradora.

TDworD
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 00:15:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi