FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Migrando firebird 2.5 a 3
Hola a todos , estoy migrando mi base de 2.5 a 3 firebird utilizo los componentes ibx , al parecer todo normal le puse en configuracion que permita usar rfunc , todo funciona bien , pero al lanzar una validacion desde un stored procedure no sale como antes salia osea el mensaje de error que se dispara el trigger
Attempt to execute an unprepared dynamic SQL statement alguno de uds les ha pasado , si pruebo desde ibexpert lanza la excepcion bien pero desde el sistema sale este error y no muestra mas adjunto trigger
__________________
IVAND |
#2
|
||||
|
||||
¿Ese mensaje lo produce el trigger o es de tu programa delphi?
Porque dices que con ibexpert no sale el error, pienso que es algo de tu programa. En todo caso, para que quede más claro el código, en esta línea yo lo cambiaría, aunque no hace falta: Esto: if (new.cantidad<=-1) then por esto: if (new.cantidad<=(-1)) then
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Como siempre gracias por responder
Te explico mejor , el sp al momento que se ejecuta en firebird 3 desde ibexpert muestra este mensaje BLOQUEAR_SALDO_BODEGA. El saldo de este Producto no puede estar en negativo = ACAI FUTURO COM LIQ 269ML. At trigger 'PRODUCTO_BODEGA_AU0' line: 9, col: 6 At procedure 'SPMOV_INVENTARIOS' line: 142, col: 9. <Missing arg #1 - possibly status vector overflow>. Si se ejecuta lo mismo de firebird 2.5 ejecuta asi
Parte del codigo donde se ejecuta el error obvio donde le pongo a negativo el stock
__________________
IVAND Última edición por IVAND fecha: 16-02-2024 a las 16:25:52. |
#4
|
||||
|
||||
¿Eso es un trigger?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
|||
|
|||
No no no , el trigger ejecuta una condicion q si la ejecuto dentro de un sp me bota ese error en firebird 3 , mientras q en 2.5 funciona bien
si ejecuto el sp desde el ibexpert sale este mensaje Código PHP:
__________________
IVAND |
#6
|
||||
|
||||
La verdad es que no me queda muy claro la situación, ¿puedes subir algún ejemplo sencillo para que podamos probar?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#7
|
|||
|
|||
Hola casimiro tendria que subir la base de datos y un programita en delphi que haga saltar la validación para que veas el error , (especificamente lo que hace es que desde delphi 2009 con los componentes ibx capturamos el mensaje de error que nos devuelve la base de datos y al querer mostrar en delphi nos da el error)
__________________
IVAND |
#8
|
||||
|
||||
Cita:
Sigo sin entender, entonces ¿el error es al mostrar en delphi el mensaje devuelto?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#9
|
|||
|
|||
Mil disculpas por no responder a tiempo
Si Casimiro , en delphi con los componentes ibx ya no muestra el mensaje de error de forma correcta , como lo mostraba cuando usaba firebird 2.5
__________________
IVAND |
#10
|
||||
|
||||
Cita:
Es erroneo concatenar un parametro con lo que sea. Cambia cod_transaccion para que tenga el texto completo.
__________________
El malabarista. |
#11
|
|||
|
|||
Hola a todos , el problema es una unidad en los componentes ibx pero no se como actualizarlos
__________________
IVAND |
#12
|
||||
|
||||
Explícate, no se entiende lo que dices.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#13
|
|||
|
|||
Estimados amigos , intentare explicar de mejor manera mi pregunta y mi duda Estoy migrando a firebird 3 , delphi 2009 y los componentes IBX , todo esta perfecto ya esta en produccion y todo , pero resulta que hay un problema al monento de mostrar un mensaje que viene de un stored procedure , he leído que esto se debe a que ibx tal como esta tiene ese problema con firebird 3 , he leido que se debe cambiar la unidad en los fuentes de los componentes IBX alguno de uds ha cambiado algo para q los mensajes que vengan de un store procedure cuando se produzca un error se muestre correcto , como se mostraba cuando se trabajada con firebird 2.5 , espero a ver sido claro en mi duda , si esta en sus manos espero sus comentarios
__________________
IVAND |
#14
|
||||
|
||||
Estimado IVAND, no aclaras nada, sólo dices "...hay un problema...", "...he leído que...", "...tiene ese problema...", "...he leido que se debe..." ...
Creo que lo mejor es que simplemente pegues aquí el stored procedure, que nos digas exactamente qué quieres conseguir, y que nos copies exactamente el mensaje de error o problema que te está surgiendo.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#15
|
|||
|
|||
Estimado gracias por su tiempo en leer , pero creo que soy muy malo para explicar mi problema , he tratado de explicarlo de mil maneras y nada que me puedo hacer entender , la verdad no se como mas poder explicar el error q me da al usar firebird 3 con delphi 2009 y los componentes ibx
He enviado los mensajes que salen cuando trabajo con firebird 2.5 y lo q sale ahora con la version 3 , pero les quedo agradecido la verdad , voy a tener que comprar otros componentes que manejen mejor este error Igual vuelvo a intentar explicarme otra vez El mensaje usando firebird 2.5 se muestra en delphi super bien , indica el producto que esta quedando en negativo y esta perfecto se entiende y se puede revisar Código PHP:
al utilizar firebird 3 el mensaje que retorna cuando se produce la exception en muy generico Código PHP:
indico ademas el trigger q debe lanzar la exception Código PHP:
De antemano espero se me entienda , caso contrario quedare igual de agradecido como siempre de ustedes
__________________
IVAND |
#16
|
||||
|
||||
O sea, quieres decir que con firebird 3 no sale ese mensaje "bloquear_saldo_bodega". Y con firebird 2.5 sí sale el mensaje. ¿Es eso?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#17
|
|||
|
|||
Exacto , el mensaje sale pero generico
y realmente no dice nada , con firebird 2.5 sale bien
lo muestra perfecto , por ende es un problema en el manejo de errores en los componentes IBX , a nadie le ha pasado esto ?? Gracias
__________________
IVAND |
#18
|
||||
|
||||
Cita:
Esto no es un mensaje "generico" y te esta diciendo exacto el problema, que ya te respondi que era. Presta atencion. Ahora si hiciste el arreglo al problema, entonces tienes otro lugar donde haces una concatenacion con parametros, que es erronea.
__________________
El malabarista. |
#19
|
||||
|
||||
Ten en cuenta que el componente IBX que estás usando es el mismo tanto con firebird 2.5 como con firebird 3.0
Así que, por lógica, en teoría, no puede ser un fallo de IBX.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#20
|
||||
|
||||
El error suena mas a ser del motor, no del componente (aunque hay este reporte: https://stackoverflow.com/questions/...statement-in-d))
__________________
El malabarista. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Migrando de InterBase a Firebird | Carmelo Cash | Firebird e Interbase | 11 | 14-05-2014 03:43:34 |
Migrando triggers de Firebird a PostgreSQL | macugi | PostgreSQL | 6 | 02-05-2013 20:47:57 |
Migrando a Firebird | mjjj | Conexión con bases de datos | 6 | 26-09-2007 02:14:39 |
Migrando a .NET | JULIPO | Internet | 1 | 15-09-2006 14:23:03 |
migrando a firebird | JoseQ | Firebird e Interbase | 1 | 13-08-2004 02:49:47 |
|