Jump to content

dev botao

Firebird 2.5 - Descobrir Quantidade De Usuário Logados


Go to solution Solved by Régys Silveira,
  • Este tópico foi criado há 1309 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Posted

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
Posted

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
  • Like 3

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • 2 weeks later...
Posted

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.

Posted (edited)

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.

Edited by jeter.rabelo
  • Like 1

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

Jéter Rabelo Ferreira
Campestre/MG

Posted

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 years later...
Posted

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 year later...
Posted
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á 1309 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.