PDA

Ver la Versión Completa : Error gds consistency check... no se que


judoboy
29-07-2003, 18:40:18
Pues el asunto es que no puedo crear un campo en una tabla. Bueno si que puedo, pero luego cada vez que me meto a la tabla me peta, y me sale siempre ese error.

Que puedo hacer?

guillotmarc
29-07-2003, 18:55:21
Hola.

Parece que tienes la base de datos corrupta.

Simplemente haz un Backup y una Restauración y vuelve a probarlo.

Saludos.

__cadetill
29-07-2003, 20:30:15
y si no te arregla el problema, mirate estos hilos

http://www.clubdelphi.com/foros/showthread.php?s=&threadid=2171&highlight=consistency+check

http://www.clubdelphi.com/foros/showthread.php?s=&threadid=1728&highlight=consistency+check

judoboy
30-07-2003, 10:01:13
Hola gracias, por responder.
El asunto es que cuando intento hacer el backup me sale el siguiente error:
internal gds software consistency check(wrong record length(183)).

Y se me queda tirado en writing data for table BOBINA,
bueno pues la borro, porque es una tabla donde no tengo muchos datos.

Vuelvo a probar y me da error:
Arithmetich exception, numeric overflow, or strign truncation
en la tabla SUBFAMILIA_CONCEPTOS2.

Borro todos los datos de esa tabla ,
y me vuelve a dar el mismo error.


Vamos que no me deja hacer el backup

judoboy
30-07-2003, 10:12:39
Quiero borrar un indice de la tabla Subfamilias_conceptos2 pero no me deja.

En el antiguo foro se dijo una vez como se hacia pero no lo recuerdo

__cadetill
30-07-2003, 10:16:13
Mirate los dos hilos que te comento en el post anterior

Respecto a lo que no te deja borrar la tabla, que error te da? Esta tiene dependencias? Si es asi, primero tendras que borrar las dependencias antes de que te la deje borrar

judoboy
30-07-2003, 11:27:31
Vamos con el gfix me dice que tengo level errors:3

He probado de todas las formas posibles.

Que pone en:
http://www.ibphoenix.com/main.nfs?a=ibphoenix&s=1059554118:23624&l=;IBPHOENIX.PAGES;NAME='ibp_db_corr'

Luego con el gbak, cuando hago el restore la única forma para que no me de error es utilizando la opcion -inactive.

Ya que el error que me sale es de indices.

En la página dice lo siguiente:
"inactive, if there are index problems, this will restore the database, but will not activate any indexes"

y de esta forma me lo hace bien. Pero ahora bien, como activo los indices. Por que ahora si utilizo esa base de datos. Otra cosa por cierto antes tenia unos 5.133KB y despues del restore se me quedan en 4.232KB. Bueno si me meto en mi aplicación me dice cada vez que quiero entrar a un formulario que RDB$222 (el numero que sea) already exists.

__cadetill
30-07-2003, 12:02:58
Bien, para activar los indices manualmente, tienes que acceder a la tabla de sistema RDB$Indices. El campo a actualizar es el RDB$Index_Inactive

Por cierto, supongo que todas estas pruebas las haras sobre una copia de la base de datos como te recomienda el articulo, verdad? Y el articulo que has seguido es este, no?

http://www.ibphoenix.com/main.nfs?a=ibphoenix&l=;IBPHOENIX.PAGES;NAME='ibp_db_corr'

Esperto te servia

judoboy
30-07-2003, 12:56:03
Si si, las pruebas las estoy haciendo sobre una copia de la base de datos.

Como hago para actualizar el RDB$Index_Inactive.
Los tengo todos a 0, pero no me deja modificarlo. Por cierto que tengo que poner 1.

__cadetill
30-07-2003, 13:34:11
con un SQL de Update sobre el campo y, sí, el valor a poner es 1 (si no recuerdo mal ;))

Si no hay demasiados, te aconsejaria ir haciendo 1 a 1 para saber exactamente cual es el que falla

pedrohdez
30-07-2003, 17:22:13
Hola,

Te recomiendo una solución, crea una BD limpia, solo con la estructura, con gbak puedes hacerlo rapidamente, y luego usa una herramienta freeware que encontraras en la red, IBPump, para volcar los datos de tu BD chunga a la BD limpia, el programa es de lo mas sencillito.

Suerte!
Pedro.

judoboy
31-07-2003, 17:26:58
Como se crea una base de datos vacia con el gbak?

pedrohdez
31-07-2003, 19:13:33
Hola Judoboy,

la forma de extraer la estructura de una GDB es:
1º extraer los metadatos:

gbak -m MiBDOrigen.gdb Vacia.gbk

2º generar una BD vacia con esos metadatos:

gbak -c Vacia.gbk NuevaBD.gdb

Supongo que tendras una copia de tu BD, en mi caso siempre he sacado la estructura de una copia, aunque supongo que si la averia de la BD es de datos es probable que te permita extraer los metadatos sin problemas.

He puesto la instruccion sin indicar usuario y password, para evitarte tener que teclarlos cada vez, puedes fijar un par de variables de entorno:

set isc_user=SYSDBA
set isc_password=masterkey

Ya nos contaras como termina esa BD ;-D

Pedro.