Ir para conteúdo
  • Cadastre-se

dev botao

Firebird 2.5 - Descobrir Quantidade De Usuário Logados


Ver Solução Respondido por Régys Silveira,
  • Este tópico foi criado há 1296 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Olá pessoal, alguém conhece como montar uma instrução Select que me retorne a quantidade de usuário conectados no Firebird 2.5? Trabalho com Delphi XE5 e componente DbExpress.

  • Moderadores
  • Solution
Postado

Utilize a tabela de sistema MON$ATTACHMENTS, todos os usuários conectados estão nesta tabela.

 

Para retornar a quantidade de usuários conectados você poderia fazer algo do tipo

select
  count(MON$ATTACHMENTS.mon$attachment_id) as qt_usuario_conectado
from
  MON$ATTACHMENTS
  • Curtir 3

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • 2 semanas depois ...
Postado

Boa Tarde Régys, Régys estou tento alguns problemas com clientes acessando a minha base de dados e estou em busca de uma solução direta no ibpexert pois sei que os mesmo estão utilizando tão ferramenta para acessar a base.

Vi que o ibexpert tem uma opção de executar script antes e depois de conectar com o banco, pois não sei muito bem usar esses metadados do ibexpert como você citou acima poderia me ajudar? 

Tipo assim antes de dar acesso ao banco eu pegaria o username que o cara tá entrando caso vamos supor que seja diferente de ADM eu encerro a conexão com o banco isso é nem dou continuidade ao processo, teria como?

 

Obrigado.

Postado (editado)

Boa tarde.

 

A tabela que o Regys te falou acima guarda cada conexão feita no banco, bem como usuário, aplicativo etc.

 

Você pode criar uma trigger de conexão (disponível a partir do Firebird 2.1) para "monitorar" quem está conectando ao banco.

 

Por exemplo, ao ocorrer  uma nova conexão ao banco, verifique o campo MON$REMOTE_ADDRESS (iP de onde veio a conexão) e liberar determinados IP's,

 

Também pode-se verificar o campo MON$REMOTE_PROCESS que é o nome do aplicativo que está sendo utilizado na conexão com o banco. Neste caso o aplicativo está com o path completo.

 

Caso a nova conexão não esteja dentro dos parâmetros especificados, efetue um delete do registro na tabela que a conexão é encerrrada.

 

Essa é uma forma de você "bloquear" acessos ao BD.

 

Lembrando, que o próprio Firebird permite desabilitar trigger na conexão, utilizando parâmetro  "isc_dpb_no_db_triggers' no próprio IBExpert que você irá conectar ao banco, sem a trigger seja executada.

 

Atenciosamente.

Editado por jeter.rabelo
  • Curtir 1

------------------------------------------------

Jéter Rabelo Ferreira
Campestre/MG

Postado

Obrigado pelas explicações jeter, no meu caso o que ocorre é que como é uma aplicação comercial o banco fica no servidor do cliente ou em uma maquina de frente de caixa entendeu? Vou tentar algo do tipo como você citou acima. A versão do firebird instalada nos clientes é a partir da 2.5.

Agradeço a resposta. 

  • 5 anos depois...
Postado

o posto é antigo mas estou tendo esse mesmo problema,

se for fora do windows server funciona perfeito o comando acima, mas se for dentro do windows server vc so tem um IP de conexão, dai vc não consegue pelo select saber quantos estão conectados.

qual seria a sugestão para quem usa terminal server ?

  • 1 ano depois...
Postado
Em 17/06/2014 at 22:48, Régys Silveira disse:

Utilize a tabela de sistema MON$ATTACHMENTS, todos os usuários conectados estão nesta tabela.

 

Para retornar a quantidade de usuários conectados você poderia fazer algo do tipo


select
  count(MON$ATTACHMENTS.mon$attachment_id) as qt_usuario_conectado
from
  MON$ATTACHMENTS

Aproveitando o gancho, onde configuro a quantidade de usuários simultâneos?

  • Este tópico foi criado há 1296 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.