Olá Jaime,
questões importantíssimas você levantou e já adianto que as respostas podem variar de acordo com variáveis do seu contexto e de quem responde.
Irei responder com base técnica e onde couber, com base na minha experiência. Óbvio que outras resposta de outros usuários são bem-vindas, não sou dono da
verdade e muito menos o mais experiente em Access (mesmo já tendo vários anos trabalhando profissionalmente com essa ferramenta fantástica e desprezada pelo MS).
JaimeSoares escreveu:Vi recentemente que quando ativamos a Criptografia, o arquivo compartilhado, o Access não conseguirá fazer bloqueio por registro, apenas por página. Se mais de um usuário acessar registros na mesma pagina, gera erro !
Extamente! JaimeSoares escreveu:No o arquivo BD Criptografado ( com senha ), caso aconteça o erro , só grava a alteração do primeiro usuário ? o próximo usuário perde os dados ?
Sim, será salvo o primeiro e os outros receberão uma mensagem informado que aquele registro está sendo editado. O Access irá sugerir subscrever os os dados já salvos pelo primeiro
ou por os dados do usuário atual na área de transferência do Windows.
Já tentei sobrescrever, porém ainda assim o Access falava não sobrescrevia e ficava no ciclo de mostrar a mensagem de que o registro já estaria em edição por outro usuário.Conclusão: Irá perder os dados na maioria das vezes, e será mantido os dados do primeiro. JaimeSoares escreveu:Então se tenho mais segurança, posso ter menos performance em rede. E o contrario também é válido. !?
Exato. JaimeSoares escreveu:E quanto a "pagina" é uma quantidade específica de registros próximos ao registro que está sendo editado ?
O bloqueio por página age exatamente como é descrito. Apenas registros da página bloqueada que apresentarão conflitos de escrita simultânea.
Apenas lembrando que uma página tem cerca de 4kb, isso pode conter um ou mais registros. Uma cálculo raso e bem generalista, uma tabela com 10 campos, tendo sua maioria de campos do tipo texto,
e uns 2 ou 3 do tipo número, com uma média de 50 caracteres por campo (texto), cada página poderá conter 11 registros. JaimeSoares escreveu:Outra duvida, se eu tiver senha na Pasta aonde estão as Bases de Dados, ai então não preciso colocar senha ( criptografia ) nos BDs ? E assim volto a ter bloqueio por registro? Então devo conversar com o adm da rede para colocar esta senha, mas como fica os acessos vinculados aos arquivos nestas pastas ? Liberado para cada Estação/Usuário ?
Por senha na pasta e outros tipos de segurança de rede, não irá afetar a forma de bloqueio dos registros do Access. Então, sim, poderá por os usuários que usarão a aplicação em um grupo que tenha acesso a leitura e escrita na pasta e remover a senha do Access, voltará a ser bloqueio por registro. E todos os usuários que usarão o sistema terão acesso ao banco de dados fisicamente bem como qualquer outro arquivo nela. JaimeSoares escreveu:Qual a solução mais viável para a segurança dos dados ?
Curto e reto: Mude do Access para outro banco de dados. Sujiro Firebird, grátis e per4formático.Considerações finais:
Eu entendo que a segurança dos dados é uma questão muito delicada e ainda mais com a LGPD. Nesse caso, qualquer solução que você adote no Access em rede sempre dará ao usuário acesso fisicamente ao arquivo de banco de dados.
E tabelas vinculadas, expõem a senha de criptografia do banco.
A solução para esse cenário seria partir para trabalhar com tabelas desvinculadas, realizandoo acesso desconectado com ADO ou DAO. Mas isso geraria outras brechas de segurança e etc. Talvêz acessar o back-end via odbc seria uma camada a mais de proteção...
Mas todas essas estratégias fazem com o que o Access perca a sua maior vantagem, que é trabalhar com acesso vinculado. O Access perde o sentido nesse cenário.
Se tratando de segurança e desempenho o Access deixa a desejar.
Se seu sistema é usado intensamente por várias pessoas, pense realmente em alterar seu back-end para um banco de dados mais robusto, como Firebird. Poderá acessar com ele vinculado.
Mas ainda assim há várias considerações a serem feitas para não expor os dados na conexão odbc, que seria a unica forma de acesso Access/Firebird (pelo menos que eu conheça).
Se segurança e performance (acesso simultâneo) são crucias para o seu cenário, o Access (Font-End e Back-End) não é a melhor solução.
Para não ficar apenas em minhas palavras, sugiro você dar uma olhada nas soluções de segurança do Avelino, do site usandoaccess, procure por Open e Protec. Mas ambas as soluções envolvem
senha no back-end e você esbarrará na barreira do bloqueio por página.