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 05-03-2011
Avatar de cacu
cacu cacu is offline
Miembro
 
Registrado: dic 2005
Ubicación: Chile
Posts: 132
Poder: 19
cacu Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 05-03-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
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.
Responder Con Cita
  #3  
Antiguo 05-03-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Cita:
Empezado por cacu Ver Mensaje
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.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #4  
Antiguo 06-03-2011
Avatar de cacu
cacu cacu is offline
Miembro
 
Registrado: dic 2005
Ubicación: Chile
Posts: 132
Poder: 19
cacu Va por buen camino
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
Responder Con Cita
  #5  
Antiguo 07-03-2011
Avatar de cacu
cacu cacu is offline
Miembro
 
Registrado: dic 2005
Ubicación: Chile
Posts: 132
Poder: 19
cacu Va por buen camino
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
Responder Con Cita
  #6  
Antiguo 07-03-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
Me alegro mucho que hayas podido resolver ese problema, y tienes razón, la ayuda de guillotmarc es siempre muy precisa y aclaratoria.
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
Actualizacion BD mRoman Conexión con bases de datos 11 18-04-2010 00:22:51
actualizacion del help 129 zidfrid C++ Builder 0 13-08-2007 00:22:56
Actualizacion con ADO Carlex Conexión con bases de datos 5 09-08-2005 08:08:57
actualizacion en red @-Soft Conexión con bases de datos 1 12-08-2003 09:55:06


La franja horaria es GMT +2. Ahora son las 05:11:43.


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