PDA

Ver la Versión Completa : convertir firevird V.1.0 a V.2.1


ciacsl
24-06-2008, 14:44:54
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.


http://www.clubdelphi.com/foros/images/misc/progress.gif

juanelo
24-06-2008, 15:21:30
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.


http://www.clubdelphi.com/foros/images/misc/progress.gif

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

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.

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.

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 Notevi
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:

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 Notevi
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
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
New.campo si lo admite.