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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-02-2013
marcial marcial is offline
Miembro
 
Registrado: may 2003
Posts: 147
Poder: 21
marcial Va por buen camino
Question Problema raro con Firebird

Hola a todos:
Trabajo con D5, firebird 2.1 y componentes FibPlus.
El problema raro es el siguiente y sólo ocurre cuando trato de conectar con una BD Firebird remota: (En local funciona perfectamente)
la ruta de conexion que utilizo es: xxx.xxx.xxx.xxx:C:\Directorio\BaseDeDatos.FDB siendo xxx.xxx.xxx.xxx la ip pública de internet.
El programa es un mantenimiento de clientes que tiene un componente EventAlerter de Fibplus para que cuando haya algún cambio en los datos del cliente actualice automáticamente el DBGrid de presentación. En la Base de datos es un trigger que está así:
Código Delphi [-]
SET TERM ^ ;

CREATE TRIGGER ACTUALIZA_CLIENTES FOR CLIENTES
ACTIVE AFTER INSERT OR UPDATE OR DELETE
POSITION 0
AS
BEGIN
 POST_EVENT 'ACTUALIZA_CLIENTES';
END^

SET TERM ; ^

y en el programa, en el OnShow tengo:

Código Delphi [-]
Eventos1.Events.Add('ACTUALIZA_CLIENTES');
Eventos1.RegisterEvents;

en el OnClose tengo:
Código Delphi [-]
Eventos1.UnregisterEvents;

y en el OnEventAlerter del componente tengo:
Código Delphi [-]
        if EventName='ACTUALIZA_CLIENTES' then
          begin
              Clientes.Refresh;
          end;

Pues bien, si pongo un "exit" al principio de el OnShow y no registra los eventos, el programa funciona perfectamente, sin embargo, si el programa entra por ahí y los registra, se queda colgado en el CLOSE cuando hace la siguiente consulta de clientes:

Código Delphi [-]
SQL := 'Select * from Clientes ORDER BY NOMBRE ASCENDING';

Clientes.CLose;
if pFIBTransaction1.InTransaction then pFIBTransaction1.CommitRetaining;
pFIBTransaction1.StartTransaction;
CLIENTES.SelectSQL.Clear;
CLIENTES.SelectSQL.Add(SQL);
CLIENTES.QSelect.ExecQuery;
pFIBtransaction1.CommitRetaining;
Clientes.Open;

Repito, sólo cuando registra los eventos.

¿Alguien puede ayudarme?
Gracias.
Responder Con Cita
 



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
error raro en firebird leo_037 Firebird e Interbase 10 03-02-2008 19:22:23
Caso raro Firebird consume muchos recursos AGAG4 Firebird e Interbase 4 23-02-2007 01:10:19
Error Firebird sin Explicacion , Demasiado Raro hot1974 Firebird e Interbase 10 05-10-2006 15:44:35
Comportamiento raro de Firebird en Starting With AGAG4 Firebird e Interbase 6 07-06-2006 16:10:56
URGENTE: Error raro en Firebird burasu Firebird e Interbase 3 14-07-2004 13:19:25


La franja horaria es GMT +2. Ahora son las 15:08:28.


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