Jump to content

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png click.png click.png

Checar Usuários Firebird


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

Recommended Posts

Caros amigos, o tema não tem nada a ver com ACBR, mas acho que muita gente tem esse problema nos seus sistemas.

Gostaria de sua opinião sobre um problema que estou tendo no nosso sistema, talvez alguém já passou por essa situação e poderia me ajudar.

Nosso sistema é vendido e cobrado por maquina, o que acontece é que, vc fecha com uma empresa com 2 maquinas e ao passar do tempo quando notamos o cliente esta com 10 maquinas pagando o mesmo valor.

Estava vendo no firebird a possibilidade de ver a quantidade de conexões no banco, na forma abaixo, ele me mostra as conexões ativas, so que o maior problema que estou tendo é que na mesma maquina o usuário poderá abrir o nosso sistema quantas vezes precisar, hoje trabalhamos com sistema de vendas e o vendedor abre varias vezes o sistema para fazer consulta, fazer pedido, emitir nota, tudo ao mesmo tempo, por isso não podemos fazer esse tipo de bloqueio não deixando o usuário abrir mais de uma vez o sistema.

Com isso na mesma maquina poderá abrir quantas vezes precisar, o que não poderá é abrir em maquinas diferentes, dai tenho que fazer o bloqueio de licenças.

Eu poderia fazer a checagem abaixo pelo numero IP que acho que funcionaria correto, o problema é que muitas maquinas não tem IP, com isso não iria funcionar.

Outro problema é com relação ao terminal server (TS), muitos de nossos clientes utilizam essa ferramenta, com isso é feito somente uma conexão com vários vendedores, e também daria problema se estivesse utilizando IP ja que o servidor so teria um IP fixo.
O comando abaixo funciona se vc abrir somente uma conexão com o firebird.

Alguem ja passou por esse problema ?


select
distinct(mon$user),
MON$REMOTE_PROCESS,MON$SERVER_PID
from mon$attachments
where MON$attachment_ID <> current_connection
and mon$state = 1

Link to comment
Share on other sites

  • Consultores

Eu sugiro vocês partirem pra algo legal: Contrato com cláusulas de quebra de contrato.

[]'s

Consultor SAC ACBr

Elton
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

problema resolvido, se não for terminal server fica facil de checar os usuarios que estão conectados, dessa forma abaixo checo todos as conexões por IP e vejo quantas maquinas estão conectadas ao mesmo tempo.

 

Agora via TS não sei ainda como fazer

 

select
distinct(MON$REMOTE_ADDRESS)
from mon$attachments
where
MON$REMOTE_PROCESS like 'programa.exe'
and mon$state = 1 and
mon$user <> 'SYSDBA'

Link to comment
Share on other sites

  • 2 weeks later...

Fernando,

boa noite

Tínhamos esse problema e resolvemos da seguinte forma:

Criamos  uma tabela com campos para Nome do Computador, IP e MAC. Quando um usuário faz login o sistema verifica se esse conjunto de informações está na tabela. Se sim, efetua login. Se não, verifica nos parâmetros do sistema quantas licenças estão contratadas, conta na tabela quantos máquinas já estão cadastradas e se ainda houver disponibilidade, cadastra essa nova máquina e faz login. Se não, aborta o login e informa ao cliente que ele precisa contratar mais uma licença. 

Dessa forma, houve uma grande solicitação de novas licenças por parte dos nossos Clientes. Ficou bem simples e muito seguro o controle.

Havendo interese, mande email para [email protected] e podemos organizar o código para disponibilizar neste forum.

Petrucio Soares

  • Like 1
Link to comment
Share on other sites

  • 1 month later...
Em 22/07/2016 at 15:24, Fernando Rodrigo disse:

Caros amigos, o tema não tem nada a ver com ACBR, mas acho que muita gente tem esse problema nos seus sistemas.

Gostaria de sua opinião sobre um problema que estou tendo no nosso sistema, talvez alguém já passou por essa situação e poderia me ajudar.

Nosso sistema é vendido e cobrado por maquina, o que acontece é que, vc fecha com uma empresa com 2 maquinas e ao passar do tempo quando notamos o cliente esta com 10 maquinas pagando o mesmo valor.

Estava vendo no firebird a possibilidade de ver a quantidade de conexões no banco, na forma abaixo, ele me mostra as conexões ativas, so que o maior problema que estou tendo é que na mesma maquina o usuário poderá abrir o nosso sistema quantas vezes precisar, hoje trabalhamos com sistema de vendas e o vendedor abre varias vezes o sistema para fazer consulta, fazer pedido, emitir nota, tudo ao mesmo tempo, por isso não podemos fazer esse tipo de bloqueio não deixando o usuário abrir mais de uma vez o sistema.

Com isso na mesma maquina poderá abrir quantas vezes precisar, o que não poderá é abrir em maquinas diferentes, dai tenho que fazer o bloqueio de licenças.

Eu poderia fazer a checagem abaixo pelo numero IP que acho que funcionaria correto, o problema é que muitas maquinas não tem IP, com isso não iria funcionar.

Outro problema é com relação ao terminal server (TS), muitos de nossos clientes utilizam essa ferramenta, com isso é feito somente uma conexão com vários vendedores, e também daria problema se estivesse utilizando IP ja que o servidor so teria um IP fixo.
O comando abaixo funciona se vc abrir somente uma conexão com o firebird.

Alguem ja passou por esse problema ?


select
distinct(mon$user),
MON$REMOTE_PROCESS,MON$SERVER_PID
from mon$attachments
where MON$attachment_ID <> current_connection
and mon$state = 1

Escrevi um componente para esse tipo de controle e funciona perfeitamente, para SQL Server!

Sistema de Automação Comercial para diversos segmentos
NF-e, NFC-e, SPED Fiscal - www.arenasoft.com.br

Link to comment
Share on other sites

  • Este tópico foi criado há 1827 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.