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 12-09-2012
Avatar de kapcomx
kapcomx kapcomx is offline
Miembro
 
Registrado: jun 2007
Ubicación: Puebla México
Posts: 350
Poder: 17
kapcomx Va por buen camino
eventos en interbase no funciona en red

ke tal amigos del Foro, tengo un pequeño problemilla que no mas no doy con la solucion. Les comento
estoy haciendo uso de un evento que me actualize una grid una lista de servicios.

cuando lo ejecuto en la maquina que contiene la bd de manera local funciona de maravilla, pero cuando hago la prueba en red simplemente no jala.

estoy trabajando en XE2, interbase 7, IbExpert

1. en el ibExpert hice un trigger after update sobre la tabla que necesito
Código Delphi [-]
AS
begin
POST_EVENT 'preparar_orden';
end

2. ya en delphi agregue en el Datamodule un componente ibEvents lo relacione con el componente ibdatabse el cual se llama "DB"
este a su vez tiene en la propiedad databasename la ruta del archivo de base de datos "C:\micarpeta\mibase.NXT"

3. el ibevent tiene agregado el evento 'preparar_orden'
4. en el oneventalert le puse el sig codigo
Código Delphi [-]
  if eventname='preparar_orden' then
begin
frmsolicitarcuenta.mensaje;
dm.dsorden_det.Close;
dm.dsorden_det.SelectSQL.Clear;
dm.dsorden_det.SelectSQL.Text :='Select * from orden_det where fk_estatus=7' ;
dm.dsorden_det.Open;
end;

y por ultimo en el formulario donde tengo la dbgrid que se tiene que actualizar puse en el onshow

Código Delphi [-]
dm.eventorden.Events.Add('preparar_orden');
dm.eventorden.RegisterEvents;


y eso estodo amigos. lo ejecuto en la misma maquina y toda va de maravilla.
ahora cuando cambiola ruta de la base de datos a
"nombrepc:C:\micarpeta\mibase.NXT"
ahi empieza el problema simplemente no avisa nada..........

que sera estare omitiendo algo que se necesita para el trabajo en red....

Espero me puedan ayudar

Saludos...
__________________
un tipo al cual la sociedad no le tiene el mas mínimo respeto no puede ser presidente....
Responder Con Cita
  #2  
Antiguo 12-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No he entendido bien el problema, pero me parece que cuando abres un formulario quieres traerte unos datos con un select.
Si es así, ¿para qué quieres el trigger, el ibevent, etc.?, ¿por qué no, simplemente, haces el select al abrir el formulario y punto, nada más?
Responder Con Cita
  #3  
Antiguo 12-09-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Hola: creo que esta buscando un "autorefresh" de las grillas de toda la red.

Recordas el post de 88 mensajes del refresco automatico?
Responder Con Cita
  #4  
Antiguo 12-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola kapcomx.

Una consulta, ¿ Agregaste un puerto auxiliar para las excepciones en el firewall del servidor ?

Si no es así agrega uno, por ejemplo:
Código:
Protocolo        : TCP 
Numero de puerto : 4010
Luego busca el archivo Firebird.conf, que encontrarás en C:\Program Files\Firebird\Firebird_2_5 (para la versión 2.5).
Abrilo con el notepad, busca RemoteAuxPort (debajo de RemoteServicePort) y dale el numero de puerto que agregaste en el firewall
Código:
#RemoteAuxPort = 4010
Con eso tendría que funcionar.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 12-09-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Luego busca el archivo Firebird.conf, que encontrarás en C:\Program Files\Firebird\Firebird_2_5 (para la versión 2.5).
Abrilo con el notepad, busca RemoteAuxPort (debajo de RemoteServicePort) y dale el numero de puerto que agregaste en el firewall
Código:
#RemoteAuxPort = 4010
Con eso tendría que funcionar.

Saludos.
Me parece que el gaucho usa Interbase... desconozo cual es el config para esa base.-
Responder Con Cita
  #6  
Antiguo 12-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por MartinS Ver Mensaje
Me parece que el gaucho usa Interbase... desconozo cual es el config para esa base.-
Tenes razón:
Cita:
estoy trabajando en XE2, interbase 7, IbExpert
No presté atención al detalle la primera vez que leí...

Pero tal vez no sea muy diferente en Interbase y creo que por ahí vienen los tiros...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 12-09-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Tenes razón:

No presté atención al detalle la primera vez que leí...

Pero tal vez no sea muy diferente en Interbase y creo que por ahí vienen los tiros...

Saludos.
Si creo que si.
Yo en aquella ocasion el refresco lo hacia al dataset, es decir, el datasource.dataset.refresh, pero en definitiva era mas o menos asi. Otra cosa en #RemoteAuxPort = 4010 hay que sacarle el # si no no funciona..

Igual esto de eventos lo hice una vez para ayudar a los compañeros del foro asi que mucho no sé. Esperemos a ver que dice kapcomx

Saludos
Responder Con Cita
  #8  
Antiguo 12-09-2012
Avatar de kapcomx
kapcomx kapcomx is offline
Miembro
 
Registrado: jun 2007
Ubicación: Puebla México
Posts: 350
Poder: 17
kapcomx Va por buen camino
interes

ke tal compañeros, Agradezco muchisimo el interes a mi pregunta, pero aun con su ayuda no he encontrado una solución,
Penosamente no uso Firebird, y no he encontrado aún el equivalente a un puerto auxiliar en interbase.

seguire buscando, aver si logro hacer que esto funcione y les ire posteando lo que encuentre.

P.D: MartinS cual es ese post d 88 mensajes...
__________________
un tipo al cual la sociedad no le tiene el mas mínimo respeto no puede ser presidente....
Responder Con Cita
  #9  
Antiguo 12-09-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Hola Kapcomx: este es el enlace al post de los 88 mensajes donde tratamos el tema de manejo de eventos precisamente a partir de la hoja 4. Estan todos los pasos desde cero para poder hacer los refrescos automaticamente. Podras ver que el mensaje final me surgio el inconveniente que la consulta se moria y el servidor no respondia entonces en este otro de ecfisa y a partir del mensaje 17 se encontró la solucion que era lo que decimos en este hilo con la edicion del archivo firebird.conf gracias a los aportes de casimiro y delphius.-

Saludos

Pd estuve buscando lo equivalente para interbase pero no encontré nada justamente lo que solicita diego827 al final.-
Responder Con Cita
  #10  
Antiguo 12-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola kapcomx.

En realidad podrías prescindir de especificar el RemoteAuxPort, ya que Interbase (y Firebird por herencia) seleccionarán un puerto al azar para el envío de mensajes. En el caso de Firebird este comportamiento dió lugar a problemas que se solucionaron especificando un único puerto para el tráfico de eventos.
Es decir, Firebird maneja los mensajes sin necesidad de especificar el puerto auxiliar en Firebird.conf, pero puede acarrear problemas por lo que es aconsejable hacerlo.

No he leído que Interbase tenga ese problema, lo que sí podría ser, es que el firewall de windows estuviese bloqueando todo puerto no utilizado y de ese modo Interbase no podría encontrar uno para la transmisión de mensajes.
Creo, aunque sin tener la certeza por no usar Interbase, que agrengando una excepción de puerto (TCP) desde el firewall tendría que funcionarte.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #11  
Antiguo 12-09-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola kapcomx.

En realidad podrías prescindir de especificar el RemoteAuxPort, ya que Interbase (y Firebird por herencia) seleccionarán un puerto al azar para el envío de mensajes. En el caso de Firebird este comportamiento dió lugar a problemas que se solucionaron especificando un único puerto para el tráfico de eventos.
Es decir, Firebird maneja los mensajes sin necesidad de especificar el puerto auxiliar en Firebird.conf, pero puede acarrear problemas por lo que es aconsejable hacerlo.

No he leído que Interbase tenga ese problema, lo que sí podría ser, es que el firewall de windows estuviese bloqueando todo puerto no utilizado y de ese modo Interbase no podría encontrar uno para la transmisión de mensajes.
Creo, aunque sin tener la certeza por no usar Interbase, que agrengando una excepción de puerto (TCP) desde el firewall tendría que funcionarte.

Saludos.
Puede ser... Ahora pregunto: ¿se da una exepción al azar de un puerto o alguno especifico?

Saludos
Responder Con Cita
  #12  
Antiguo 12-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por MartinS Ver Mensaje
Puede ser... Ahora pregunto: ¿se da una exepción al azar de un puerto o alguno especifico?

Saludos
Errores de red genéricos y conflictos con firewall.
Cita:
RemoteAuxPort

The inherited InterBase behavior, of passing event notification messages back to the network layer through randomly selected TCP/IP ports, has been a persistent source of network errors and conflicts with firewalls, sometimes to the extent of causing the server to crash under some conditions. This parameter allows you to configure a single TCP Port for all event notification traffic.

The installation default (0) retains the traditional random port behaviour. To dedicate one specific port for event notifications, use an integer which is an available port number.
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 12-09-2012 a las 17:55:45.
Responder Con Cita
  #13  
Antiguo 12-09-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Ufa!!! porque siempre me responden en ingles!!

Gracias al traductor de google

Cita:
El comportamiento heredado InterBase, de transmitir los mensajes de notificación de eventos de regreso a la capa de red seleccionados al azar a través de los puertos TCP / IP, ha sido una fuente constante de errores de red y los conflictos con los cortafuegos, a veces hasta el punto de provocar el bloqueo del servidor bajo ciertas condiciones. Este parámetro le permite configurar un único puerto TCP para todo el tráfico de notificación de eventos.

El valor por defecto (0) conserva el comportamiento tradicional puerto aleatorio. Dedicar un puerto específico para notificaciones de eventos, utilizar un número entero que es un número de puerto disponible.
Aun no entiendo , dice que por defecto es cero y se puede dedicar un puerto para notificaciones de eventos... ¿ y donde se configura?, ¿se pone una execpcion por ejemplo al firewall al puerto 6010 e interbase la reconoce como libre?

Saludos
Responder Con Cita
  #14  
Antiguo 12-09-2012
Avatar de kapcomx
kapcomx kapcomx is offline
Miembro
 
Registrado: jun 2007
Ubicación: Puebla México
Posts: 350
Poder: 17
kapcomx Va por buen camino
puertos

compañeros agradezco mucho su interes, voya intentar abrir unos puertos y les cuento como me fue

Saludos...
__________________
un tipo al cual la sociedad no le tiene el mas mínimo respeto no puede ser presidente....
Responder Con Cita
  #15  
Antiguo 12-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola MartinS.
Cita:
¿ y donde se configura?, ¿se pone una execpcion por ejemplo al firewall al puerto 6010 e interbase la reconoce como libre?
Siempre hablando de Firebird, se configura en el archivo Firebird.conf, dándole un valor al parámetro RemoteServicePort. Este valor debe coincidir con el valor que se asigno a la excepción de puerto añadida en el firewall de windows para ese efecto.

Si no se asigna un valor a RemoteServicePort, Firebird eligirá un puerto disponible y de no haber ninguno no podrá enviar los eventos. Por ese motivo le sugerí a kapcomx que se asegure desde el firewall que haya al menos un puerto disponible a ese fín.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Eventos de Interbase en Linux PeroPaKe Firebird e Interbase 2 12-09-2012 18:07:55
funciona bien en windows 7 64b pero en XP no funciona ASAPLTDA Varios 5 06-05-2011 16:24:50
IBReplicador Interbase quien lo conoce y sabe como funciona Luis Alberto Firebird e Interbase 1 12-11-2005 02:08:45
Tratando de exprimir los eventos de interbase gario Firebird e Interbase 6 01-11-2004 17:42:27
Consulta Interbase con CGI No Funciona ASAPLTDA Internet 2 26-06-2003 23:15:42


La franja horaria es GMT +2. Ahora son las 06:07:59.


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