Fórum Como Criar um Arquivo Temporário na rede #588792

13/11/2017

0

Opa!
Surgiu uma Duvida se se algum poder ajudar seria ótimo.
Eu estou tentando implementar uma rotina para verificação de usuários com o objetivo saber se o usuário que está saindo do sistema é o último usuário logado no sistem ... só que não sei se essa ideia vai funcionar lá vai.

queria saber se tem como criar um arquivo temporário na rede e toda vez que um usuário logar verifica se o arquivo já está aberto e toda que o usuário tentar sair do sistema ele tenta deletar o arquivo. Se o usuário não conseguir apagar é porque existe outro usuário na rede manipulando o arquivo...

alguém pode me dar uma luz como fazer...
Eduardo Silva

Eduardo Silva

Responder

Post mais votado

14/11/2017

Fazer isto por arquivo em lock de leitura, sei não!
Corre o risco da aplicação ter encerramento forçado e não fechar o arquivo, pronto está feito o problema.
Se você utiliza banco de dados, tente por registro em uma tabela, com usuário e data do acesso, caso tente acessar novamente haverá um registro do usuário, e no caso ter que reiniciar o usuário, apenas exclua o registro da tabela e pronto o acesso terá restaurado.

No caso de criar arquivo, posso te dizer é fato que terá problemas.
1) O mapeamento da rede muda de servidor e não tem acesso de gravação de arquivo.
2) A aplicação trava e encerra sem fechar o arquivo, a leitura fica ativo;
3) Se você tem o sistema em múltiplas áreas e arquivos, o controle irá prejudicar a manutenção;

Isso pra citar os principais.


Eu tenho um sistema que cada acesso eu controlo pelo PID e usuário, cada acionamento do programa ele grava no acesso do usuário e o número do pid do acionamento do programa, e funciona bem, tem um outro que não precisei dar manutenção que grava IP, placa de rede, mas é um mais específico que envia arquivos para área de produção e tem que saber se o equipamento tem permissão de envio.

Luiz Vichiatto

Luiz Vichiatto
Responder

Gostei + 2

Mais Posts

14/11/2017

Eduardo Silva

Estou Usando o Firebird 2.5 e Delphi 10.1 o componente de acesso é o FireDac seara que tem como travar o registro da tabela pelo FireDac pois eu ja tentei marca como exclusivo e não consegui como eu não tenho muita experiencia com o FireDac não sei como fazer...
Responder

Gostei + 1

17/11/2017

Luiz Vichiatto

Eduardo, sim tem.
O que você quer dizer com travar o registro na tabela?
Responder

Gostei + 1

17/11/2017

Eduardo Silva

como fazer isso é o que eu não sei
Estou Usando o Firebird 2.5 e Delphi 10.1 o componente de acesso é o FireDac.
Seara que tem como travar o registro da tabela pelo FireDac?
Responder

Gostei + 0

17/11/2017

Luiz Vichiatto

Estou tentando imaginar como bloquear, não vejo como, porém, você pode utilizar uma function no banco de dados para fazer a verificação de usuário, com retorno do usuário, e assim implementar diretamente no banco.
Você pode criar uma procedure ou function que somente elas alterem a tabela, não permitir alteração da tabela, no firedac se não estou enganado na tabela há uma propriedade chamda 'ReadOnly' indique-a como 'True'.

Feito isto teste, no geral tem que fazer por codificação.


Att
Responder

Gostei + 2

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar