![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Firebird 4 Release Candidate
Hola a todos.
¿Alguien ha probado Firebird 4 RC con los controles habituales de Firebird o IB de Delphi? Parece que no funcionan los métodos Update, Insert o Delete tal como si funcionan hasta firebird 3. |
#2
|
||||
|
||||
Exactamente el qué no funciona y con qué.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Debí ser algo más explicito
Ejemplo.
Migramos una base de datos que funciona perfectamente en firebird 3, a firebird 4, Mediante backup en firebird 3 y restore en firebird 4. Tenemos una aplicación Delphi que mediante un control TIbTable edita una tabla de la base de datos en firebird 3 correctamente. Pues bien, al atacar la base de datos firebird 4, muestra el grid asociado al control Ibtable, pero da error Acceso Violation al intentar editar una fila. Me he cuidado de sustituir el cliente firebird correspondiente a firebird 3 por el de Firebird 4 en la carpeta de la aplicación (gds32.dll en este caso). |
#4
|
|||
|
|||
Poca documentacion
Realmente hay poca documentación de la migracion de FB 3 a FB 4. Hay determinadas funciones (UDF) que son validas en FB 3 y que cambian de nombre y quizás de propiedades en FB 4.
Hay, en la carpeta MISC de fb 4 un SQL para actualizar funciones, que se lo pasé a mi base de datos, tras lo cual, al hacer de nuevo backup/restore me dio un warning advirtiendo que la funcion FLOOR() no existe en FB 4. Parece ser que por un olvido, la función FLOOR no ha sido incluida en el mencionado SQL actualizador de nombres de UDFs de FB3 a FB4. Tampoco se si ese warning es suficiente para que el restore no se haya hecho completamente y de ahí que no funcionen los métodos de edición de los controles de datos de la pestaña Interbase de Delphi. |
#5
|
||||
|
||||
Lo he probado y funciona normalmente.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal Última edición por Casimiro Notevi fecha: 17-03-2021 a las 19:49:15. |
#6
|
|||
|
|||
Efectivamente...
Muchas gracias Casimiro Notevi.
Tengo que buscar entonces en el proceso de migración de mi base de datos FB 3 a FB 4. Como comenté me dió un warning en el restore, con la función FLOOR. Es decir, no hizo un restore limpio y puede que esté ahí el motivo. También puede influir que mi Delphi es Delphi 6. He de suponer que la prueba que has hecho tu ha sido con una base de datos creada directamente en FB 4. Cuando consiga que funcione correctamente con mi base de datos migrada, pondré por aquí el motivo. Saludos. |
#7
|
||||
|
||||
Recuerda que para cambiar de versión una BD o de sistema operativo, hay que crear el backup transportable.
gbak -t ..... Lo de la versión de delphi no tiene nada que ver, o al menos no debería influir, salvo que los componentes que estés usando no estén adaptados a las nuevas versiones.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#8
|
|||
|
|||
Te cuento mi experiencia al migrar de Firebird 1.5.6 a Firebird 3.0, resulta que se recomienda no usar UDF's pero las permite, lo que sucedió es que nos resulto la BD en Firebird 3.0 pero con UDF's de la versión 1.5, no se si las funciones al ejecutarse se hacían por el lado de las UDF's o de las funciones internas del motor. Lo que nos tocó hacer fue eliminar todas las funciones de las UDF's, las que no se dejaron pues, porque se usaban en triggers y procedimientos almacenados, pusimos en comentarios donde se usaban. La función FLOOR es una de esas que generan problema, nos toco hacer una hoja en Excel con el nombre del trigger o procedimiento almacenado afectado, comentar las líneas, luego bakup/restore y quitar los comentarios.
__________________
Luis Fernando Buelvas T. |
#9
|
|||
|
|||
Resuelto!
Indicaciones para migrar de firebird 3.0 a firebird 4.0
1) Realizar un backup con el parámetro -t en firebird 3.0 2) Realizar un restore normal en firebird 4.0 - Nos dará una serie de warnings relativos, sobre todo, a UDFs. pero creará la base de datos, aunque esta base de datos no es utilizable. 3) Nos conectamos con Ibexpert u otro RDBMS a dicha base de datos y lo primero que hacemos es pasar el script UDF_REPLACE que viene en la ruta c:\archivos de programa\firebird\firebird_4_0\misc\upgrade\v4.0 4) Hacemos backup normal de la base de datos, ya en la 4.0 y luego otra vez restore. Si no nos da ningún tipo de warning, la base de datos así genereada ya es utilizable. Si da algún warning, como fue mi caso, con la función FLOOR, toca entrar a la base de datos y localizar las dependencias de FLOOR y cambiarlas por otra función similar (en mi caso usé CAST ({valor} as integer). Luego volver a hacer backup/restore hasta que no de ningún warning. Lo bueno que tiene firebird 4 es la replicación nativa, entre otras cosas. No obstante, en la RC1 no he visto que mejore las prestaciones en cuanto a velocidad de Firebird 3.0 o firebird 2.5 Saludos. |
#10
|
|||
|
|||
En mi caso pasé de Firebird 2.5 a Firebird 4.0 RC1, lo unico que puedo decir que el proceso de conversión no me dió ningún fallo, pero cuando desde delphi algo una simple suma con SQL no me devuelve ningun valor y la misma consulta con los mismos parametros desde el ibexpert si que me da resultado. Será un problema de delphi, del firedac o de la RC1, estoy con Delphi Rio, solo me queda decir que con la consulta en firebird 2.5 si devuelve la suma. Es una consulta muy sencilla " Sum(Campo),Sum(Campo1) Where xxxxxxxx, lo raro es que no devuelve 0, devuelve blancos. Me da que voy a tener que eliminar la FB4 y volver a FB 2.5 que funciona de perlas.
Saludos.
__________________
SI UN PROBLEMA TIENE SOLUCION, YA NO ES UN PROBLEMA, Y SI NO LA TIENE PARA QUE PREOCUPARSE. |
#11
|
||||
|
||||
Si no pones el código, es imposible ayudarte.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#12
|
|||
|
|||
Select Sum(Campo),Sum(Campo1) From Tabla , demasiado sencillo no?, No creo que haya que explicar nada. La misma consulta con firebird 2.5 me devuelve valores. La única diferencia es Firebird.
__________________
SI UN PROBLEMA TIENE SOLUCION, YA NO ES UN PROBLEMA, Y SI NO LA TIENE PARA QUE PREOCUPARSE. |
#13
|
||||
|
||||
Pues sí hay mucho que explicar, porque yo lo tengo instalado y funciona normalmente.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#14
|
|||
|
|||
Pues te comento que desinstalé el FB 4 RC1, instalé el el Firebird 2.5 y sin tocar nada absolutamente en el código todo comenzó a funcionar como antes. No me parece lógico que una simple consulta a una tabla para pedir unas columnas sumadas, sin ninguna condición, no tienen ningún valor nulo, ni nada raro son solo dos columnas del tipo numeric(15,2). En fin, seguiremos probando haber si descubrimos por que aparecen esos bugs.
Saludos a todos.
__________________
SI UN PROBLEMA TIENE SOLUCION, YA NO ES UN PROBLEMA, Y SI NO LA TIENE PARA QUE PREOCUPARSE. |
#15
|
||||
|
||||
Precisamente por eso, porque es algo simple, debería funcionar sin problema.
Te pregunto para intentar solucionarlo, y en todo caso para enviar un mensaje a firebird para que lo solucionen. Aunque he hecho una simple prueba y funciona como era de esperar.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Sobre Release Notes de Firebird | Delphius | Firebird e Interbase | 10 | 13-11-2008 04:25:03 |
Firebird 2.1 Final Release | RolphyReyes | Noticias | 3 | 18-04-2008 22:41:56 |
Traducción Release Notes de Firebird | guillotmarc | Firebird e Interbase | 10 | 24-10-2003 03:02:02 |
Diferencias en Firebird 1.5 Release Candidate 3 | AMO | Firebird e Interbase | 0 | 16-06-2003 00:48:44 |
Firebird 1.5 Release Candidate 3 | __cadetill | Firebird e Interbase | 0 | 04-06-2003 16:13:32 |
![]() |
|