Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-09-2018
Gregorio Cíber Gregorio Cíber is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Gregorio Cíber Va por buen camino
Usuario conectados a una BD Firebird

Hola amigos.
Según la documentación de Firebird, si se quieren ver los usuario conectados en un monento concreto a una BD habría que hacer algo parecido a esto

Código Delphi [-]SELECT ATT.MON$USER, ATT.MON$TIMESTAMP, ATT.MON$REMOTE_HOST, ATT.MON$REMOTE_PROCESS FROM MON$ATTACHMENTS ATT WHERE (ATT.MON$STATE = 1)


Bien, pues tenga las conexiones que tenga a la BD en mi ordenador sólo aparece información de la conexión del programa que lo ejecuta. Es decir, si lo hago desde IBExpert aparece usuario, host, etc. con que se conectó IBExpert. Si ho hago desde mi aplicación, lo mismo. Si tengo una segunda instancia de la aplicación, idem, etc.
Estoy probando, como he dicho antes, desde un solo ordenador, pero en una red pasa lo mismo.
Supongo que si hay tres conexiones a la DB debería aparecer información de las tres, ¿no?.
Uso Firefird 3.0.3

Saludos y gracias anticipadas.
Responder Con Cita
  #2  
Antiguo 01-10-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.011
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Gregorio Cíber Ver Mensaje
Supongo que si hay tres conexiones a la DB debería aparecer información de las tres, ¿no?.
Efectivamente.
Responder Con Cita
  #3  
Antiguo 01-10-2018
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 280
Poder: 8
manelb Va por buen camino
Yo ejecuto esta sentencia pero si la condición where que tu pones y devuelve la información que espero: las conexiones con la base de datos.

No sé ahora mismo el campo MON$STATE a que hace referencia.
Voy a mirarlo.


Saludos
Responder Con Cita
  #4  
Antiguo 01-10-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.011
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Código SQL [-]
select count(*) from MON$ATTACHMENTS
Responder Con Cita
  #5  
Antiguo 01-10-2018
lucho6007 lucho6007 is offline
Miembro
 
Registrado: ene 2009
Ubicación: Junín, pcia de BsAs, Argentina
Posts: 72
Poder: 16
lucho6007 Va por buen camino
El problema lo tenés al final de la sentencia SQL:

Código SQL [-]
SELECT ATT.MON$USER,        ATT.MON$TIMESTAMP,         ATT.MON$REMOTE_HOST,        ATT.MON$REMOTE_PROCESS FROM MON$ATTACHMENTS  ATT WHERE (ATT.MON$STATE = 1)


eliminá el WHERE (ATT.MON$STATE = 1)


La sentencia quedaría:
Código SQL [-]
SELECT ATT.MON$USER,        ATT.MON$TIMESTAMP,         ATT.MON$REMOTE_HOST,        ATT.MON$REMOTE_PROCESS FROM MON$ATTACHMENTS  ATT
Responder Con Cita
  #6  
Antiguo 01-10-2018
Gregorio Cíber Gregorio Cíber is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Gregorio Cíber Va por buen camino
Gracias a ambos por responder.
No obtante no va, o no lo consigo yo, que todo puede ser.
Con
Código SQL [-]
select count(*) from MON$ATTACHMENTS
aparece desde IBExpert 3. Da igual que hay una, dos o más instancias del programa corriendo.
Con
Código SQL [-]
SELECT ATT.MON$USER, ATT.MON$TIMESTAMP, ATT.MON$REMOTE_HOST, MON$REMOTE_PROCESS FROM MON$ATTACHMENTS ATT
aparece siempre:
Cita:
SYSDBA ATT.MON$STATE = 1
Cache Writer ATT.MON$STATE = 0
Garbage Cllector ATT.MON$STATE = 0
también independientemente del número de conexiones a la BD.
Saludos.

Última edición por Casimiro Notevi fecha: 01-10-2018 a las 19:17:25.
Responder Con Cita
  #7  
Antiguo 01-10-2018
Gregorio Cíber Gregorio Cíber is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Gregorio Cíber Va por buen camino
Perdón, pero he marcado como SQL las sentencias, lo he previsualizado, los he visto bien, pero luego no han salido.
Lo siento.
Responder Con Cita
  #8  
Antiguo 01-10-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.011
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Gregorio Cíber Ver Mensaje
Perdón, pero he marcado como SQL las sentencias, lo he previsualizado, los he visto bien, pero luego no han salido.
Lo siento.
Es un error al previsualizar antes de enviar. Hay que enviarlas, y luego, si hace falta, se edita.
A ver si lo arreglamos.
Responder Con Cita
  #9  
Antiguo 01-10-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.011
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Gregorio Cíber Ver Mensaje
.
No se entiende lo que dices.
Código SQL [-]
select count(*) from MON$ATTACHMENTS
Devuelve el número de conexiones a la BD.

5 conexiones a una BD:


Última edición por Casimiro Notevi fecha: 01-10-2018 a las 19:27:42.
Responder Con Cita
  #10  
Antiguo 02-10-2018
Gregorio Cíber Gregorio Cíber is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Gregorio Cíber Va por buen camino
Gracias a todos por responder.
Creo que está resuelto. Es un problema del sistema operativo. En Windows Server 2008 R2 va perfectamente. En algunas versiones anteriores de Windows no funciona.

Repito, gracias por vuestro tiempo.
Responder Con Cita
  #11  
Antiguo 02-10-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.011
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Gregorio Cíber Ver Mensaje
Gracias a todos por responder.
Creo que está resuelto. Es un problema del sistema operativo. En Windows Server 2008 R2 va perfectamente. En algunas versiones anteriores de Windows no funciona.
Repito, gracias por vuestro tiempo.

Funciona en todas las versiones, no tiene nada que ver con windows.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Firebird 2.1 + Usuario Windows ASAPLTDA Firebird e Interbase 1 13-04-2012 01:05:38
crear usuario firebird mjjj Firebird e Interbase 1 26-09-2007 19:19:23
Como saber el numero de usuarios conectados a Firebird djemix Firebird e Interbase 2 29-08-2006 15:33:45
Como Obtener un Listado de Clientes conectados a FIREBIRD???? AGAG4 Firebird e Interbase 2 24-04-2006 21:58:43
Añadir usuario a Firebird fidias Firebird e Interbase 2 09-09-2003 21:40:14


La franja horaria es GMT +2. Ahora son las 05:29:52.


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