Ir para conteúdo
  • Cadastre-se

dev botao

Checar Usuários Firebird


  • Este tópico foi criado há 2750 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 para o comentário
Compartilhar em outros sites

  • Consultores

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

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

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

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
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 para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...