Compartilhar via


O que é um Bloqueio?

O bloqueio é o processo pelo qual um DBMS restringe o acesso a uma linha em um ambiente de vários usuários. 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 garante que dois usuários não possam atualizar simultaneamente a mesma coluna em uma linha.

Os bloqueios podem ser muito caros do ponto de vista do recurso e devem ser usados somente quando necessário para preservar a integridade dos dados. Em um banco de dados em que centenas ou milhares de usuários podem estar tentando acessar um registro a cada segundo - como um banco de dados conectado à Internet - o bloqueio desnecessário pode resultar rapidamente em um desempenho mais lento em seu aplicativo.

Você pode controlar como a fonte de dados e a biblioteca de cursores do ADO gerenciam a simultaneidade escolhendo a opção de bloqueio apropriada.

Defina a propriedade LockType antes de abrir um conjunto de registros para especificar que tipo de bloqueio o provedor deve usar ao abri-lo. Leia a propriedade para retornar o tipo de bloqueio em uso em um Recordset objeto aberto.

Os provedores podem não dar suporte a todos os tipos de bloqueio. Se um provedor não puder oferecer suporte à configuração solicitada de LockType, ele substituirá por 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.

A configuração de adLockPessimistic não é suportada se a propriedade CursorLocation estiver definida como adUseClient. Se um valor não suportado for definido, nenhum erro ocorrerá; em vez disso, será usado o LockType mais próximo que é suportado.

A propriedade LockType é de leitura/gravação quando a do conjunto de registros é fechada e somente leitura quando está aberta.

Esta seção contém os tópicos a seguir.