USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Opinião sobre Segurança em Rede (SQL-Server)
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
Postada em 21/06/2005 13:09 hs            
Olá, amigos
 
Já faz um tempinho q nao pergunto...
A empresa em que eu trabalho pegou um serviço muito grande, em VB, ASP e SQL Server, com o banco de dados no servidor da internet, e a aplicação VB acessando diretamente pela Internet, como tambem as páginas ASP...
 
Minha dúvida é quanto a segurança na alteração dos registros...
Podemos ter varios usuarios acessando o banco pelo sistema, na mesma tabela. As consultas nao usam Recordsets, mas sim apenas os comandos SQL, tipo SELECT, UPDATE, DELETE. Não usamos o AddNew ou o Update do Recordset.
Para exibir um registro em um terminal, simplesmente fazemos um Select no banco, preenchemos os campo do formulario com os dados do recordset, e fechamos o recordset em seguida. Se o usuario alterar algum dado, o programa vai fazer um novo SQL que atualiza o banco, e executar com o Connection.Execute do ADO...
 
O problema é q um usuario pode estar exibindo um registro, e outro em outra maquina pode pedir pra alterar o mesmo registro. Entao o primeiro usuario ficaria com um registro desatualizado. O que preciso é q o segundo usuario seja avisado que o registro nao pode ser alterado porque esta sendo usado por outro usuario. Isso acontece poucas vezes no progama, entao nao teria problema em impedir ele de atualizar...
 
Meu problema é como??? pensei em criar um campo em cada tabela, flag que mostre se o registro esta em ediçao ou nao, mas se um usuario precisa reiniciar sua maquina, ou entao prede a conexao, os registros q ele estava exibindo ficariam travados "para sempre"...
 
Amigos, estou a espera da opiniao de voces... gostaria de saber como voces lidam com esse tipo de problema...
 
Abraços,
 


Elieser Carlos Topassi
Analista de Sistemas - Desenvolvedor VB/ASP/.Net

e-mail/msn:
elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

     
Gelson Porto
Pontos: 2843 Pontos: 2843 Pontos: 2843
RIO DE JANEIRO
RJ - BRASIL
Postada em 21/06/2005 14:07 hs            
Elieser, boa tarde..
 
         Eu optei em utilizar uma tabela auxiliar que registrar os registros em uso (somente a chave) e um rotina de validação que varrer este arquivo e qualquer registro com mais de vinte minutos nesta lista e liberado. Uma atualização só é possível se o registro estiver nesta tabela, assim se usuário ficar muito tempo com o registro aberto ou perder a conexão terá que repetir a operação para efetuar uma modificação. Não é a melhor nem  a unica forma, é apenas um maneira que uso. Espero que receba outras sugestões.
 
           Um abraço.
     
kerplunk
Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 21/06/2005 15:50 hs         
Dê uma olhadinha no comando LOCK do SQL Server.Emoções
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página