Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Actualizacion (https://www.clubdelphi.com/foros/showthread.php?t=72682)

cacu 05-03-2011 05:49:23

Actualizacion
 
Estimados colegas, recien estoy con esto de firebrid.
he realizado una prueba muy humilde y sencilla.

cree una tabla con solo 3 columnas
cree un proc.almacenado el cual realiza la insercion y actualizacion de esta
pequeña tabla.

cree una coneccion remota (prueba fuera de mi red)

Luego desde delphi estos 3 valores y jecuto el procedimiento....todo bien

pero al inserta valores de manera remota y local estos valores no los veo reflejados en un dbgrid que dispuse para ese efecto..

Como es sera posible que exista ese tipo de refresco..vale decir que si remotamente se inserta un valor el sistema de manera local lo visualise

(los valores seson efectivamente insertados en la tabla , pero no consigo verlos de inmediato, tengo que cerrar la aplicacion y abrilas para que pueda verlos)

Espero se comprenda este pequeño delima...
En espera de sus comentarios ..

atte
Cacu

Casimiro Notevi 05-03-2011 12:26:08

Eso no es una prueba "humilde y sencilla" :), ¿qué quieres decir con "fuera de mi red"?, ¿otra red local?, ¿una conexión por internet?.
¿Qué parámetros estás usando en las transacciones?

Por cierto, recuerda poner títulos descriptivos a las preguntas, "Actualización" no tiene nada que ver con lo que preguntas, recuerda nuestra guía de estilo, gracias.

guillotmarc 05-03-2011 19:53:03

Cita:

Empezado por cacu (Mensaje 392709)
Estimados colegas, recien estoy con esto de firebrid.
he realizado una prueba muy humilde y sencilla.

cree una tabla con solo 3 columnas
cree un proc.almacenado el cual realiza la insercion y actualizacion de esta
pequeña tabla.

cree una coneccion remota (prueba fuera de mi red)

Luego desde delphi estos 3 valores y jecuto el procedimiento....todo bien

pero al inserta valores de manera remota y local estos valores no los veo reflejados en un dbgrid que dispuse para ese efecto..

Como es sera posible que exista ese tipo de refresco..vale decir que si remotamente se inserta un valor el sistema de manera local lo visualise

(los valores seson efectivamente insertados en la tabla , pero no consigo verlos de inmediato, tengo que cerrar la aplicacion y abrilas para que pueda verlos)

Espero se comprenda este pequeño delima...
En espera de sus comentarios ..

atte
Cacu

Hola.

Es normal que una aplicación abierta no muestre datos insertados por otro punto hasta que no vuelvas a cargar los datos.

Lee este artículo sobre los eventos de Firebird, esto sirve para que tu aplicación conozca cuando debe volver a cargar datos puesto que se han producido cambios.

http://www.firebird.com.mx/modules/A...php?storyid=35

Saludos.

cacu 06-03-2011 21:59:35

Gracias amigo guillotmarc , intente hacerme un ejemplo
pero se me pega la aimplcacion.. y alfinal no me actualiza..

Trigger:
Código:

  create  trigger eventos_empresa for new_table
            active after insert  or update or delete position o
   
          As
          begin
          post_event 'modificacion de datos'
          end

Proc.Almacenado
Código:

      create procedure sp_empresa(
                                              emp_rut varchar(14) not null,
                                              emp_nf  varchar(50),
                                              emp_gr varchar(50))
    as
    begin
      if (exists(select  ad_emp_rut from new_table where adq_emp_rut = :emp_rut))  then
      update new_table set
        adq_emp_nf = :emp_nf,
        adq_emp_gr = :emp_gr
  where adq_emp_rut = : emp_rut;
else
    insert into new_table ( columan de la tabla ) values(parametros)
suspend;
end

en delphi : Componentes
1.- IBDatabase1 <-> Ibtransaction1
2.- <-TibStroreprocedure
3 <-IBdataset1 ->DataSource1->DBgrid
4.- <-IBevents1

Con todo eto la aplicacion en el momento de inserta un nhuevo valor se
pega y al final no realiza nada

Nota : Sin IBDataSet y IBEvents1, funcionaba bien la actualizacion y la insercion , con el unico detalle que los datos insertados no se reflejan en la grilla

Espero puedas darme una mano mas....

De ante mano agradesco nuevamente el articulo que me diste
Saludos

cacu 07-03-2011 07:13:39

Queridos colegas, despues de investigar y encontrar algunos post que son muy buenos y me oreintaron qusiera dejar en primer lugar este primer link que me fue respondido por guillotmarc muy preciso el tema .

Este dice relacion con la utilizacion de eventos en Firebrid y Delphi

http://www.firebird.com.mx/modules/A...php?storyid=35

Luego de leer este link tube otros problemas relacionados con la coneccion de IBEvents.
(yo me conecto de menera remota ha firebrid usando un nombre dns(gratis) y configurando el puerto correspondiente)

El caso que al intentar usar mi aplicacion con IBEevents la aplicacion se pegaba (vueltas y vueltas ..que sera?)
asta que por fin por esas cosas lei el log de firebrid y salio un error 10060)

Dejo mensaje textual del señor guillotmarc (notable)

"El mensaje de error está bastante claro : Failed to establish a sencondary connection for event processing.

Es decir que no se ha podido abrir una segunda conexión para el procesamiento de eventos. Esto es debido a que por defecto, se intenta abrir un puerto al azar para la recepción de avisos de eventos.

Para evitarlo, configura el parámetro RemoteAuxPort (mira las Release Notes) de firebird.conf."

link post visitado:http://www.clubdelphi.com/foros/showthread.php?t=12286


Dejo link para desgarga de una herramienta que me fasilito la modificacion del puerto remoto de salida para eventos
http://jhonny.clubdelphi.com/firebirdconfig-espanol/


Que decir..bueno gracias por compartir ..notables..

Saludos

Casimiro Notevi 07-03-2011 12:51:38

Me alegro mucho que hayas podido resolver ese problema, y tienes razón, la ayuda de guillotmarc es siempre muy precisa y aclaratoria.


La franja horaria es GMT +2. Ahora son las 21:45:45.

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