O que é um bloqueio?
O bloqueio é o processo pelo qual um DBMS restringe o acesso a uma linha em um ambiente multiusuário. Quando uma linha ou coluna é bloqueada exclusivamente, outros usuários não têm permissão para acessar os dados bloqueados até que o bloqueio seja liberado. Isso impede que dois usuários não atualizem simultaneamente a mesma coluna em uma linha.
Os bloqueios podem ser muito caros de uma perspectiva de recurso e devem ser usados somente quando necessário para preservar a integridade dos dados. Em um banco de dados onde centenas ou milhares de usuários poderiam estar tentando acessar um registro a cada segundo – como um banco de dados conectado à Internet – o bloqueio desnecessário poderia resultar rapidamente em um desempenho mais lento no aplicativo.
Para controlar como a fonte de dados e a biblioteca de cursores do ADO gerenciam a simultaneidade, escolha a opção de bloqueio apropriada.
Defina a propriedade LockType antes de abrir um Recordset para especificar que tipo de bloqueio o provedor deve usar ao abri-la. Leia a propriedade para retornar o tipo de bloqueio em uso em um objeto Recordset aberto.
Os provedores podem não ter suporte para todos os tipos de bloqueio. Se um provedor não aceitar a configuração LockType solicitada, ele substituirá outro tipo de bloqueio. Para determinar a funcionalidade de bloqueio real disponível em um objeto Recordset, use o método Supports com adUpdate e adUpdateBatch.
Não haverá suporte para a configuração adLockPessimistic se a propriedade CursorLocation estiver definida como adUseClient. Se um valor sem suporte for definido, não ocorrerá erro; em vez disso, o LockType com suporte mais próximo será usado.
A propriedade LockType é de leitura/gravação quando o Recordset está fechado e somente leitura quando está aberto.
Esta seção contém os seguintes tópicos.