Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   convertir firevird V.1.0 a V.2.1 (https://www.clubdelphi.com/foros/showthread.php?t=57661)

ciacsl 24-06-2008 14:44:54

convertir firevird V.1.0 a V.2.1
 
Hola a todos...
Estoy pensando en pasar mi base de datos Firebird V. 1.0 a la versión 2.1, pero me surgen un par de dudas.

1º. Según tengo entendido debo hacer un backup de la base de datos V.1.0, luego desinstalar la V.1.0 de Firebird, instalar la V.2.1 y recuperar el backup de la base de datos. La duda que tengo es que si yo desistalo la V.1.0, instalo la V.2.1, hago el backup y la recuperación, me va a funcionar ¿?..es decir hacelo todo con la V.2.1

2º. Otra cosa que he leido es que los comandos new.campo, en los triggers que la V.1.0 admitía, la V.2.1, no admite....Mi pregunta es...cuando recupere el backup de la base de datos con la V.2.1...me va a dar error ¿?...Cuando debo de cambiar los triggers, antes de recuperar el backup ¿?.


Muchas gracias de antemano !

Saludos Cordiales.



juanelo 24-06-2008 15:21:30

Cita:

Empezado por ciacsl (Mensaje 295702)
Hola a todos...
Estoy pensando en pasar mi base de datos Firebird V. 1.0 a la versión 2.1, pero me surgen un par de dudas.

1º. Según tengo entendido debo hacer un backup de la base de datos V.1.0, luego desinstalar la V.1.0 de Firebird, instalar la V.2.1 y recuperar el backup de la base de datos. La duda que tengo es que si yo desistalo la V.1.0, instalo la V.2.1, hago el backup y la recuperación, me va a funcionar ¿?..es decir hacelo todo con la V.2.1

2º. Otra cosa que he leido es que los comandos new.campo, en los triggers que la V.1.0 admitía, la V.2.1, no admite....Mi pregunta es...cuando recupere el backup de la base de datos con la V.2.1...me va a dar error ¿?...Cuando debo de cambiar los triggers, antes de recuperar el backup ¿?.


Muchas gracias de antemano !

Saludos Cordiales.



Porque no intentas hacerlo, claro primero respalda la base de datos, y nos cuentas como te fue. Con respecto a New.Campo puedes checar en la documentacion que viene sobre los cambios en la version, y lo mas que puede pasar es que para ciertos eventos esta variable sea solo de lectura, pero no deja de ser accesible.
Saludos

defcon1_es 24-06-2008 17:56:21

Hola ciacsl, yo ya he pasado por esto :D
Cita:

Empezado por ciacsl (Mensaje 295702)
1º. Según tengo entendido debo hacer un backup de la base de datos V.1.0, luego desinstalar la V.1.0 de Firebird, instalar la V.2.1 y recuperar el backup de la base de datos.

Es lo correcto.
Cita:

Empezado por ciacsl (Mensaje 295702)
La duda que tengo es que si yo desistalo la V.1.0, instalo la V.2.1, hago el backup y la recuperación, me va a funcionar ¿?..es decir hacelo todo con la V.2.1

No, asi no te va a funcionar, casi seguro al 90%, en parte por lo que te comento a continuación.
Cita:

Empezado por ciacsl (Mensaje 295702)
2º. Otra cosa que he leido es que los comandos new.campo, en los triggers que la V.1.0 admitía, la V.2.1, no admite....Mi pregunta es...cuando recupere el backup de la base de datos con la V.2.1...me va a dar error ¿?...Cuando debo de cambiar los triggers, antes de recuperar el backup ¿?.

El cambio en la variable de entorno NEW es que ahora es de sólo lectura en triggers del tipo AFTER, por tanto si en algún trigger AFTER INSERT o AFTER UPDATE, les asignas valor, es SEGURO (100%) que cuando hagas el restore te falle.
Revisa tus triggers y adáptalos según lo que te comento ANTES siquiera de hacer el backup.

Casimiro Noteví 24-06-2008 18:38:43

Os recuerdo que para obtener una seguridad mayor en el traspaso, siempre que se cambie entre versiones es conveniente hacer el backup transportable, para ello sólo es necesario añadir el parámetro -t al hacer el backup.

Ejemplo:
Código:

gbak -b -t -v -user sysdba -password masterkey basedatos.fdb basedatos.fbk

ciacsl 27-06-2008 10:55:38

Buenos dias,

He revisado mis triggers y no hay problema por ese cambio de la version 1 a la 2 de los campos new.

Lo de recuperar la base de datos todo con la v2 no me ha dado problema. No se si será algo puntual con mi base de datos, pero funcionar funciona.

Una pregunta, para actualizar la base de datos de seguridad de isc4 a security2, es necesario ejecutar un script, y me preguntaba si ¿ es posible ejecutar un script en una base de datos sin necesidad de instalar algún programa tipo IBexpert, es decir, que se pueda ejecutar ese .sql por línea de comandos o algo parecido ?

Muchas gracias y saludos

Casimiro Noteví 27-06-2008 12:01:11

Con isql, está en el directorio bin de firebird.
isql -i nombredelscript.sql

ciacsl 27-06-2008 12:31:12

Gracias casimiro! te debo una cervecita :)

josemmerida 27-06-2008 13:13:42

Cita:

2º. Otra cosa que he leido es que los comandos new.campo, en los triggers que la V.1.0 admitía, la V.2.1, no admite....Mi pregunta es...cuando recupere el backup de la base de datos con la V.2.1...me va a dar error ¿?...Cuando debo de cambiar los triggers, antes de recuperar el backup ¿?.
El restore debe funcionar perfectamente. Solo que las tablas que tengan asignaciones en los trigers after del tipo new.campo= , se quedaran como solo lectura. No puedes editarlas. Debes quitar esas asignaciones, compilar el triger y ya está, a correr. Lo de correr es literal, va que se las pela de rapido. ;)

Saludos.

rastafarey 08-07-2008 20:58:15

resp
 
New.campo si lo admite.


La franja horaria es GMT +2. Ahora son las 17:54:31.

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