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)
-   -   Conocer ip de las conexiones existentes (https://www.clubdelphi.com/foros/showthread.php?t=18876)

anduj 25-02-2005 13:37:38

Conocer ip de las conexiones existentes
 
Hola amigos

Necesito conocer las ips de las conexiones que tiene Firebird en un momento dado. Esto me permitirá desbloquear a los usuarios que no han salido de forma correcta del programa. Tengo una tabla de usuarios que los controla.

Mediante un IBDatabaseInfo puedo cononocer los usuarios que hay conectados, pero esto no me sirve ya que todos conectan con el SYSDBA.
He buscado más propiedades de IBDatabaseInfo y no encuentro nada. Tampoco veo nada en la API de Interbase. (Utilizo Firebird 1.5)

¿Alguien lo ha conseguido?

Mil gracias por escucharme.

Saludos

Casimiro Notevi 25-02-2005 14:54:54

Perdona mi curiosidad, pero qué quieres decir exactamente con "desbloquear a los usuarios que no han salido de forma correcta del programa" ?
¿Qué problemas tendrías en el servidor de firebird en esos casos?

anduj 25-02-2005 15:11:36

Te cuento:

Tengo una tabla de usuarios donde hay un campo que indica si el usuario está activo para evitar que se utilice el mismo usuario en otro puesto.
Este campo se pone a True al acceder al programa y pasa a estado False al salir.
El problema surge cuando un usuario apaga el PC sin salir de la aplicación o cuando se produce un "cuelgue" o un corte de energia. El usuario en este caso se queda activo y no puede volver a entrar, es necesario que el administrador entre en la gestión de usuarios y lo desbloquee.

Si conociese la ip de las conexiones que hay activas en el servidor podria desbloquearlo automáticamente, ya que apuntaria la ip en la tabla de usuarios al entrar en el programa. Un procedimiento se encargaria de desbloquear todos los usuarios cuya ip no se encuentre entre las conexiones activas.

Saludos

Casimiro Notevi 25-02-2005 20:22:34

pues mira este enlace en trucomania

Casimiro Notevi 25-02-2005 20:24:31

perdona, es el truco 82 y está en la sección de internet.

anduj 27-02-2005 11:42:17

Gracias Casimiro por tu respuesta, pero no es exactamente lo que busco.

El truco que comentas me puede venir bien a la hora de acceder al sistema y anotar la ip local del usuario que conecta, pero lo que busco yo es otra cosa.
Busco la manera de consultar a la base de datos Firebird las conexiones que tiene en ese momento y que retorne las ips de todas las conexiones.

Conozco la forma de saber los usuarios que están conectados a Firebird, pero no los distingo ya que siempre conectan con SYSDBA. Por este motivo creo que lo mejor seria conocer las ips de todas las conexiones que tiene Firebird.

Saludos

StartKill 01-03-2005 00:41:56

Wnas,

HUmm, creo que lo solucionaria de la siguiente forma:

Dices:
Cita:

Tengo una tabla de usuarios donde hay un campo que indica si el usuario está activo para evitar que se utilice el mismo usuario en otro puesto.
Este campo se pone a True al acceder al programa y pasa a estado False al salir.
Pero, siempre hay un pero...
Cita:

El problema surge cuando un usuario apaga el PC sin salir de la aplicación o cuando se produce un "cuelgue" o un corte de energia. El usuario en este caso se queda activo y no puede volver a entrar,
"Bloquea el registro del usuario" y de esa forma cuando otro usuario venga lo encontrara bloqueado, y si por alguna razon la maquina de este usuario se cuelgue, apagon, reset.....el servidor soltara dicho registro bloqueado y este registro estara a la espera que este usuario ingrese nuevamente ;)

Espero sirva

Your friend

StartKill
Lima-Perú

anduj 01-03-2005 09:39:32

Muchas gracias Startkill

Tu idea me parece muy interesante, pero se me plantea una duda. Cada vez que se produzca un reset al estar el registro bloqueado, ¿que sucede con la transacción que se queda abierta?.
¿Se dedaria en el limbo? ¿Puede ser peligroso?

Un saludo y gracias nuevamente.

StartKill 01-03-2005 15:50:14

Wnas

Cita:

Empezado por anduj
Tu idea me parece muy interesante, pero se me plantea una duda. Cada vez que se produzca un reset al estar el registro bloqueado, ¿que sucede con la transacción que se queda abierta?.
¿Se dedaria en el limbo? ¿Puede ser peligroso?

Humm, tenes razon, pero si se resetea la maquina, lo mismo pasara con tus otras transacciones no?

Pero00... la pregunta es "puede ser peligroso??", lo vamos a poner en otro hilo para sacarnos la duda :D

Your friend :cool:

StartKill
Lima-Perú


La franja horaria es GMT +2. Ahora son las 11:19:00.

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