Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Error al restaurar de FB15 a FB30 (https://www.clubdelphi.com/foros/showthread.php?t=92743)

Gregorio Cíber 15-01-2018 18:41:16

Error al restaurar de FB15 a FB30
 
Buenas tardes, amigos.
Sigo peleándome con la actualización de BDs en FB1.5 a FB3.0. En algunos casos, no en todas las BDs, me surge el siguiente problema:

Cita:

.
.
.
gbak:restoring exception E_CO_PERIODO_BLOQUEADO
gbak:committing metadata
gbak: ERROR:unsuccessful metadata update
gbak: ERROR: AC_PROVEEDORES
gbak: ERROR: Implementation of text subtype 65301 not located.
gbak:Exiting before completion due to errors
Hasta llegar aquí he hecho lo siguiente con la información que he obtenido de aquí y de allá:

Cita:

1.- Asegurar que en la BD FB1.5 no haya ningún rdb$collation_id = -1:
UPDATE rdb$relation_fields
SET rdb$collation_id = 0
WHERE (rdb$collation_id = -1);

2.- Comprobar lo anterior:
SELECT rdb$collation_id
FROM rdb$relation_fields
WHERE (rdb$collation_id = -1); ---> No presenta ninguno registro.

3.- Copia de seguridad con FB1.5:
gbak -v -t -user SYSDBA -password clave BaseDatos.FDB BaseDatos.FBK

4.- Restaurar con FB1.5 la copia anterior para asegurar que no hay errores:
gbak -c -v -user SYSDBA -password clave BaseDatos.FBK BaseDatosRestFB15.FDB ---> Sin problemas

5.- Restaurar con FB3.0 en otra máquina:
gbak -c -v -user SYSDBA -password clave -y info.log BaseDatos.FBK BaseDatosRestFB30.FDB -fix_fss_m ISO8859_1
o
gbak -c -v -user SYSDBA -password clave -y info.log BaseDatos.FBK BaseDatosRestFB30.FDB ---> En ambos casos ERROR
Posteriormente a esto, por probar algo que se comentó aquí hace algún tiempo, cambié el campo OBSERVACIONES en AC_PROVEEDORES que era:
Cita:

BLOB SUB_TYPE 1 SEGMENT SIZE 100 CHARACTER SET ISO8859_1
a
Cita:

BLOB SUB_TYPE 1 SEGMENT SIZE 1024 CHARACTER SET ISO8859_1
y volví a hacer todo lo anterior otra vez (pasos del 1 al 5). El resultado el mismo.

¿Alguna idea de donde puede estar el problema?

Saludos.

Casimiro Notevi 15-01-2018 19:12:17

Prueba con ibexpert o similar a extraer metadata + datos a un fichero script.
Luego lo ejecutas en fb3

Gregorio Cíber 15-01-2018 20:45:03

Gracias Casimiro Notevi por contestar.
He hecho lo que me has dicho y, aparte de gener un fichero muy grande que no se puede cargar desde IBExpert, al ejecutarlo con ISQL da el siguiente error:

Cita:

...
Use CONNECT or CREATE DATABASE to specify a database
Expected end of statement, encountered EOF
La base datos, obviamente, no se crea.

Saludos.

Casimiro Notevi 15-01-2018 21:31:28

No lo cargues con ibexpert, solamente crea el fichero script.
Luego lo ejecutas con isql.

Gregorio Cíber 15-01-2018 21:37:43

Así lo he hcho, Casimiro. En mensaje de error anterior es de ISQL.

Saludos.

Casimiro Notevi 15-01-2018 21:42:10

¿Puedes hacer la exportación sin el campo ese que da problemas?

Gregorio Cíber 15-01-2018 22:07:32

Voy a intentarlo a ver qué pasa.

Saludos.

Casimiro Notevi 15-01-2018 22:09:52

También puedes hacer un "select" de ese campo y exportarlo por separado del resto del script, para luego recuperarlo.
Algo así como "select codigo, campoproblematico from tabla".

Gregorio Cíber 16-01-2018 21:02:53

Gracias Casimiro por tu interés.
Creo haber solucionado el problema aplicando a la BD el siguiente código:
Cita:

UPDATE rdb$relation_fields
SET rdb$collation_id = null
WHERE (rdb$collation_id = -1);
Saludos.

Casimiro Notevi 16-01-2018 21:16:00

Está bien si no te hacía falta mantener el collation. Aunque luego puedes modificarlo también en la base de datos restaurada.
^\||/

mRoman 19-01-2018 16:36:47

Igual y ya lo resolviste.

Pero te dejo este hilo donde toque algo relacionado con tu problema, espero te ayude:

http://www.clubdelphi.com/foros/showthread.php?t=84972

Saludos

Gregorio Cíber 20-01-2018 07:06:21

Gracias mRoman. Lo voy a mirar ipso facto.
Saludos


La franja horaria es GMT +2. Ahora son las 04:59:38.

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