George, obrigado pela resposta mas já pensei nesta dia lógica, mas o
problema seria o seguinte:
Por algum motivo o usuário é desconectado:
A máquina pode travar.
O usuário pode desligar a máquina no botão
A conexão com o servidor pode cair ( internet )
Ou seja, a aplicação terminar de forma anormal
Nestes casos, a tebela continuaria como se ele estivesse conectado e
obviamente seria interpetado como login em uso.
Se houver uma desconexão anormal o PG controla isso pra mim muito bem !
Grato.
George Silva escreveu:
Acredito que você resolver pela aplicação.
Assim que um usuário abrir a aplicação, insira o nome dele e tempo de
conexão em uma tabela.
No momento de pedir o close da aplicação, apague o nome do usuário na
tabela.
Entre os dois eventos, teste se o usuário já está conectado. (Quando
ele tentar logar denovo em outra máquina) O registro vai ser
encontrado e você bloqueia o login com este user (volta para a tela de
login). Caso não exista um registro nesta tabela, ele loga.
Não sei se consegui explicar o que quero dizer.
Mas veja aí, e tenho certeza que otras pessoas podem te dar mais uma
"luz", não sou nem de perto expert no assunto.
Abraço
George
marco escreveu:
Pessal estou com o seguinte dilema:
Tenho alguns cliente que me pedem para que cada usuário se conecte ao
sistema em uma máquina por vez. Para resolver o problema, criei os
usuários da minha app como usuários do PG pois desta forma quando um
usuário tentar efetuar o login na app, ela pergunta ao PG se o
usuário já está logado, se não estiver logado a entrada no sistema
continua (a conexão fica aberta até a app ser finalizada) caso
contrário e entrada é barrada e ele é avisado que seu login está
aberto em outra máquina.
mas recentemente venho estudando o C# e tenho notado que ninguem
utiliza uma conexão permanente ao banco de dados. todos tem seus
ótimos argumentos.
Gostaria de saber a opinião de vocês:
Pensando no controle que preciso, é arriscado manter uma conexão
permanente com o banco ?
Se este procedimento for ruim e o melhor for o que o mundo c# diz:
Conecte, pegue o que quer e desconecte. Como fariamos para manter o
controle em que o usuário só possa ficar conectado em uma máquina.
Não sei se fui claro mas ficaria muujuuuito grato em ler o parecer de
vocês
Obrigado.
--
*Marco Antonio J. Victor*
Fone/Fax: *11 2977-5406*
www.tactor.com.br
------------------------------------------------------------------------
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
------------------------------------------------------------------------
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
------------------------------------------------------------------------
Nenhum vírus encontrado nessa mensagem recebida.
Verificado por AVG - http://www.avgbrasil.com.br
Versão: 8.0.197 / Banco de dados de vírus: 270.10.6/1888 - Data de Lançamento: 12/1/2009 07:04
--
*Marco Antonio J. Victor*
Fone/Fax: *11 2977-5406*
www.tactor.com.br
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral