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 25-02-2005
anduj anduj is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 10
Poder: 0
anduj Va por buen camino
Question 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
Responder Con Cita
  #2  
Antiguo 25-02-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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?
Responder Con Cita
  #3  
Antiguo 25-02-2005
anduj anduj is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 10
Poder: 0
anduj Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 25-02-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
pues mira este enlace en trucomania
Responder Con Cita
  #5  
Antiguo 25-02-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
perdona, es el truco 82 y está en la sección de internet.
Responder Con Cita
  #6  
Antiguo 27-02-2005
anduj anduj is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 10
Poder: 0
anduj Va por buen camino
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
Responder Con Cita
  #7  
Antiguo 01-03-2005
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
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ú

Última edición por StartKill fecha: 01-03-2005 a las 01:45:36. Razón: dice Bloque debe decir bloquea
Responder Con Cita
  #8  
Antiguo 01-03-2005
anduj anduj is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 10
Poder: 0
anduj Va por buen camino
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.
Responder Con Cita
  #9  
Antiguo 01-03-2005
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
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

Your friend

StartKill
Lima-Perú
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


La franja horaria es GMT +2. Ahora son las 01:07:46.


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