FoxPro/Visual FoxPro - perdí mis indices, cómo los recupero?

 
Vista:

perdí mis indices, cómo los recupero?

Publicado por Molks (1 intervención) el 17/11/2002 01:11:07
Hola, tengo un pequeño problemita porque no puedo entrar a un sistema que estoy implementando, ya que me marca que los indices se perdieron en algunas tablas, ya que desenchufaron la compu antes de salir del sistema y estaba trabajando éste.

El problema es que intenté acceder a las tablas de mi base de datos y algunas (supongo las que estaba en uso cuando sucedió el "apagón") no puedo ni siquiera examinarlas y mucho menos modificar su estructura.

Alguien me podría explicar cómo puedo recuperar mi ínidces sin corromper la base de datos por favor. Me dijeron que había una herramienta para hacerlo pero no me dieron el nombre, pero no importa, lo que me interesa es ver si es posible, aunque sea corrigiendo a manita.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:perdí mis indices, cómo los recupero?

Publicado por Walter (76 intervenciones) el 17/11/2002 03:47:41
Hola

1. Borra los CDXs de tus tablas (Ejemplo: si tienes una tabla llamada CLIENTES.DBF borra el índice CLIENTES.CDX)
2. Trata de abrir nuevamente tu tabla
3. Si funciona, utiliza REINDEX o crea nuevamente los índices
4. Si no funciona, aquí viene lo complicado:
a. Haz una copia de seguridad de tu base de datos y de tus tablas e índices
b. Abre la base de datos como si fuera una tabla (Ejemplo: USE STOCK.DBC)
c. Busca la tabla que tiene problemas (usa el comando BROWSE)
d. Borra el registro donde está la tabla (usa CONTROL+T o el comando DELETE)
e. Empaqueta la base de datos (PACK)
f. Cierra la base de datos (USE)
g. Vuelve a intentar abrir tu tabla (USE CLIENTES)
h. El problema con esta solución es que perderás todas las ventajas de las bases de datos ya que tendrás una tabla libre. Es decir, se perderán las relaciones, procedimientos almacenados, nombres largos de campo, etc. Así que úsala solamente como último recurso

Bye.

Walter.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:perdí mis indices, cómo los recupero?

Publicado por Rutilio Rivera (4 intervenciones) el 21/11/2002 00:48:48
Para recuperar tus indices tienes que hacerlo desde VFP en la ventana command invocas la tabla con un use?, si te permite continuar dale un index on sobre la estructura de tu llave y ademas construyele el nombre al indice con la sentencia tag.

ejemplo
supongamos que la tabla se llama safon001 y es de paises. su indice es pai_codigo+dep_codigo y el nombre es pai_codigo

Use ? &&Seleccione la tabla dañada
index on pai_codigo+dep_codigo tag pai_codigo

sino te funciona utiliza la clausula reindex

SALUDOS

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar