![]() |
Error tremendo al restaurar una base de datos con GBAK
Saludos al foro.
Quisiera ver si algún alma caritativa y de conocimientos profundos sobre firebrid puede ayudarme. El caso es que tengo una base de datos en FB 2.0 con varias tablas. Una de ellas se llama TIPO_SENSOR y tiene los siguientes campos: Field Name Type Not Null Def Val Computed ---------------------------------------------------- IDTIPOSENSOR INTEGER Yes TIPO_LARGO VARCHAR(20) Yes TIPO CHAR(3) Yes ACTIVO SMALLINT Yes 1 Description: 0 Inactivo, 1 Activo IDTABLADATOS INTEGER Yes IDTIPODATO INTEGER Yes Y con los siguientes valores: IDTIPOSENSOR TIPO_LARGO TIPO ACTIVO IDTABLADATOS IDTIPODATO ------------------------------------------------------------------------------------- 0 INDEFINIDO NOT 1 0 0 1 TEMPERATURA EN ºC TEM 1 1 2 2 HUMEDAD HUM 1 1 1 3 LLUVIA LLU 1 2 4 4 ENCHARCAMIENTO ENC 1 2 5 5 TEMPERATURA EN ºK TEK 1 1 3 Sólo estos 6 valores. Si hago un backup con el siguiente comando: "c:\Archivos de programa\Firebird_2_0\bin\gbak.exe" -b -v -t -user SYSDBA -password masterkey "Base.fdb" "Base.fbk" me lo hace correctamente, sin ningún mensaje de error. El problema viene al intentar hacer restore. Utilizo este comando: "c:\Archivos de programa\Firebird_2_0\bin\gbak.exe" -c -v -user SYSDBA -password masterkey "Base.fbk" "Base_res.fdb" y me lanza este error: ..... gbak:restoring data for table TIPO_SENSOR gbak: ERROR:validation error for column IDTIPODATO, value "*** null ***" gbak: ERROR: warning -- record could not be restored gbak:Exiting before completion due to errors y termina sin restaurar la base de datos. Lo que yo entiendo es que la columna IDTIPODATO tiene un valor null y esto entra en contradicción con la definición que no acepta valores null. Sin embargo, los valores de los campos son los que he puesto arriba y NO HAY NINGUNO NULL. Esto me está causando un tremendo desbarajuste porque no puedo restaurar la base de datos por un dato "fantasma" que no sale en ningún listado. Me veo obligado a comprimir la base de datos fdb en un rar cuando no estoy conectado. Utilizo Delphi 7 y FB 2.0 ¿Pruebo con FB 2.1? ¿Alguien sabe qué pasa con ese datos fantasma null? Gracias por adelantado. |
has probado dehabilitando las transacciones del Limbo...
|
Muchísimas gracias eduarcol, me has librado de una buena; eres mi padre.
Efectivamente, con el siguiente comando lo restaura sin problemas: "c:\Archivos de programa\Firebird_2_0\bin\gbak.exe" -c -v -l -user SYSDBA -password masterkey "Base.fbk" "Base_res.fdb" La opción -l (ele, no i) desactiva no se qué del limbo y así sí que funciona. ¿Qué son las transacciones del limbo? (Por aprenderlo) Reitero mi agradecimiento, eduarcol. Era una cosa que me tenía muy preocupado. |
tengo entendido que son aquellas transacciones las cuales pasan la primera etapa de un commit en dos fases, por lo general se da con el commit retain.
En resumen es basura de la BD, se recomienda ese tipo de respaldo para limpiarlo. |
| La franja horaria es GMT +2. Ahora son las 01:53:16. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi