Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-01-2011
teletranx teletranx is offline
Miembro
 
Registrado: feb 2004
Ubicación: Chile
Posts: 112
Poder: 21
teletranx Va por buen camino
Unhappy No Encuentro el Error del Trigger en FireBird 2.5

Saludos a todos
Tengo el siguiente problema:
El trigger funcionaba bien en la versión 1.5.6 y 2.1.3 pero cuando estoy actualizando la base de datos a la versión 2.5 y compilo los trigger y varios salieron con errores, verificando no encontre nada.
El siguiente trigger es un ejemplo de ello
Código SQL [-]
CREATE OR ALTER Trigger Rem_Maefin_Bd0 For Rem_Maefin
Active Before Delete Position 0
As
Declare Variable Ano Smallint;
Declare Variable Mes Smallint;
Declare Variable Fecini Date;
Declare Variable Fecter Date;
Declare Variable Fecha Date;
begin
 If (Old.Mf_Estado = 'N') Then Exit;
 Select Parrem.Pm_Anoliq, Parrem.Pm_Mesliq
    From Parrem
   Where Parrem.Ne = Old.Ne
  Into :Ano, :Mes;
  If (Old.Mf_Estado = 'F') Then
  Begin
    Fecha = Encodedate(1, :Mes, :Ano);
   -- Exception E_Asignado Fecha;
   -- Aislando el error
    if (Old.Mf_Fecter < Fecha) then
      exception e_asignado 'No puede Borrar Finiquito, es de otro Período';
   --
    FecIni = Encodedate(1, Mes, Ano);
    FecTer = Lastdaymonth(FecIni);
    Update Rem_Tabmov Set
           Rem_Tabmov.Tm_Marca = 'S'
     Where Rem_Tabmov.Ne = Old.Ne And
           Rem_Tabmov.Tm_Numrut = Old.Mf_Rutfun And
           Rem_Tabmov.Tm_Fecter >= :FecIni And
           Rem_Tabmov.Tm_Fecter <= :FecTer;
  End
end
Cuando compilo IbExpert versión 2011.01.11, sale lo siguiente
Cita:
can't format message 13:393 -- message system code -4.
unsuccessful metadata update.
MODIFY TRIGGER failed.
Existen otros trigers que utilizo las funciones Encodedate y Lastdaymonth y no tengo problema.
Tambien he utilizado la último versión de Interbase&Firebird Development Studio y sale lo mismo
No encontrado nada de nada
He probado línea por línea el trigger cuando escribo las líneas
if (Old.Mf_Fecter < Fecha) then
exception e_asignado 'No puede Borrar Finiquito, es de otro Período';

Se produce el error, posteriormente comento las líneas y complilo continuo el error, llego a comentar todo lo que está entre el Begin y el End final y continua el error, no puedo compitar el trigger.
No se que estoy haciendo mal.
Saludos y esperando sus comentario y ayuda
Teletranx
Responder Con Cita
  #2  
Antiguo 30-01-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿No será una versión beta con algún extraño error?
Responder Con Cita
  #3  
Antiguo 31-01-2011
teletranx teletranx is offline
Miembro
 
Registrado: feb 2004
Ubicación: Chile
Posts: 112
Poder: 21
teletranx Va por buen camino
La verssión es Firebird-2.5.0.26074_1_Win32.exe, no es beta.
Está instalada como servicio y como aplicación.
En resumen en todas las modalidades y siempre me da el mismo error

Saludos
Responder Con Cita
  #4  
Antiguo 31-01-2011
celades1 celades1 is offline
Miembro
 
Registrado: ago 2005
Posts: 116
Poder: 19
celades1 Va por buen camino
hola

Mi opinión es que tu BD no la has respaldado bien al pasarla a 2.5
Prueba de volverlo a hacer backup con 2.1 instalado
desinstalar, instalar y hacer restore con los gfix

ej

Cita:
gbak -c -v -t -rep fitxer.fbk fitxer.ib -user SYSDBA -password masterkey
-FIX_FSS_D ISO8859_1 -FIX_FSS_M ISO8859_1
Igual no tengo razón pero yo tambien tuve problemas al pasar de 2.0 a 2.5
Yo creo que no te rompas la cabeza con el trigger, sino es la BD mal restaurada.

En fin es una sugerencia

Panta
Responder Con Cita
  #5  
Antiguo 06-06-2011
teletranx teletranx is offline
Miembro
 
Registrado: feb 2004
Ubicación: Chile
Posts: 112
Poder: 21
teletranx Va por buen camino
Wink

Gracias a todos
La repuesta es
gbak -c -v -t -rep fitxer.fbk fitxer.ib -user SYSDBA -password masterkey
-FIX_FSS_D ISO8859_1 -FIX_FSS_M ISO8859_1
para Firebird 2.5
Lo hice que quedo todo OK

JC
p.d. por mi trabajo no he podido responder antes.
Responder Con Cita
  #6  
Antiguo 06-06-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por teletranx Ver Mensaje
Gracias a todos
La repuesta es
gbak -c -v -t -rep fitxer.fbk fitxer.ib -user SYSDBA -password masterkey
-FIX_FSS_D ISO8859_1 -FIX_FSS_M ISO8859_1
para Firebird 2.5
Lo hice que quedo todo OK

JC
p.d. por mi trabajo no he podido responder antes.
Bueno, aunque te sobra el -t porque eso es para hacer el backup 'transportable', no sirve para restaurar.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
No encuentro el error en esta sentencia Sql..... verito_83mdq SQL 13 14-01-2011 18:32:10
Trigger Firebird tec Firebird e Interbase 3 04-10-2010 21:46:43
Crónica de un encuentro inevitable...con Firebird AzidRain La Taberna 11 05-05-2008 03:33:47
No Encuentro El Error En Este *.rc MON___ Varios 4 05-09-2007 13:50:28
trigger y firebird ebeltete Firebird e Interbase 1 22-06-2007 15:03:38


La franja horaria es GMT +2. Ahora son las 16:30:29.


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
Copyright 1996-2007 Club Delphi