La Web del Programador: Comunidad de Programadores
 
    Pregunta:  899 - BASES DE DATOS QUE PIERDEN EL ENCABEZADO
Autor:  Alejandro Soto
Desde FoxPro 2.6, genero una aplicación de Base de Datos en la cual necesito acceder a varias tablas, esto lo hago a través de SELECT pero si la máquina donde se está ejecutando se apaga o resetea en ese momento (con varias tablas abiertas), y vuelvo a abrir estas tablas me sale el mensaje ´NO ES UNA TABLA/DBF´, la documentación sugiere utilizar el comando SET AUTOSAVE ON para evitar esto, lo he hecho, y sin embargo sigo teniendo el problema. Agradezco cualquier sugerencia, gracias.

  Respuesta:  tivy martinez
La solucion que yo encontre a este problema es un programa externo llamado dbrx.exe y fixfoxpo.exe que lo podes bajar de la web, lo ejecutas seguido del nombre de la base de dato y luego lo reindexas y ya esta
ej: desde el fox run dbrx base.dbf.
probalo y avisame

  Respuesta:  Jose Maria Crespo
Yo tuve el mismo problema con tablas de Foxpro 2.6.
Me salia el mensaje "NOT A TABLE DBF"
El remedio que le encontré fue el siguiente:
Desde la version 6 de VFP:
SELECT * FROM NOTDBF INTO TABLE TEMP
Luego copie la tabla TEMP en NOTDBF :
CLOSE TABLES ALL
USE TEMP
COPY TO NOTDBF TYPE FOX2X && Para volverlo a la version 2.6

Saludos y suerte.

  Respuesta:  Manuel Vargas
- Hola mi amigo, este problema es muy comun una forma de evitarlo en colocando UPS en cada terminal donde tienes el sistema funcionando.

- Para el problema de la Base de datos hay dos formas de poder recuperar los datos

1- desde EXCEL abrir la base de datos dañada y luego la vuelve a grabar, como tipo base de datos. con esto ya Fox puede abrirla de nuevo.

2- hay un programa que se llama DBU el cual abre la base Dañada, luego bajas hasta el ultimo registro que es el dañado, lo borras y listo.

- dime como te fue con estos datos...

Manuel Vargas
Costa Rica.


  Respuesta:  Ahmed Bustamante
Amigo el error que te sale es porque siempre que ocurre una interrupcion en el fluido electrico, si se esta procesando informacion en las base de datos, los indicess de la mismas se corrompen, lo que tendrias que hacer es borrar los archivos indice (cdx) de las bases que te presenten ese problema y volver ha generarlos, para esto tendrias que hacer un modulo que te permita realizarlo de tal manera que estes necesitando del foxpro para hacerlo.
Con respecto al comando SET AUTOSAVE ON este es para forzar la grabacion de registros inmediatamente en las bases de datos ya que el el fox al momento de grabar datos lo hace en la memoria de la pc y cuando tiene un buen numero de registros en memoria recien los graba al disco, esto con la finalidad de acelerar los procesos, el comando SET AUTOSAVE ON, te garantiza que los datos que introduzcas se graben al disco inmediatamente pero te retraza los procesos aunque no se note cuando grabas un solo registro.
Espero haberte ayudado y suerte !!!!!

  Respuesta:  Sergio
Lo que se estropea de la base de datos al apagarse la PC en general son los indices, proba borrando los CDX o IDX y luego intenta abrir la tabla y regenera los indices. Espero que te funcione

  Respuesta:  Manuel Gomez
Amigo, a mi frecuentemente me pasa lo mismo y la solucion mas rapida que tengo en utilizando el foxplus y ejecutar modify structure y al cerrar puedo abrir la base en foxpro 2.6