Compartir a través de


¿Qué es un bloqueo?

El bloqueo es el proceso por el que un DBMS restringe el acceso a una fila en un entorno multiusuario. Cuando una fila o columna está bloqueada exclusivamente, no se permite que otros usuarios accedan a los datos bloqueados hasta que se libere el bloqueo. Esto garantiza que dos usuarios no puedan actualizar simultáneamente la misma columna de una fila.

Los bloqueos pueden ser muy costosos desde una perspectiva de recursos y solo se deben usar cuando sea necesario para conservar la integridad de los datos. En una base de datos en la que cientos o miles de usuarios podrían intentar acceder a un registro cada segundo ( por ejemplo, una base de datos conectada a Internet), el bloqueo innecesario podría dar lugar rápidamente a un rendimiento más lento en la aplicación.

Puede controlar cómo el origen de datos y la biblioteca de cursores de ADO administran la simultaneidad si elige la opción de bloqueo adecuada.

Establezca la propiedad LockType antes de abrir un Recordset para especificar qué tipo de bloqueo debería utilizar el proveedor al abrirlo. Lea la propiedad para devolver el tipo de bloqueo que se está utilizando en un objeto Recordset abierto.

Es posible que los proveedores no admitan todos los tipos de bloqueo. Si un proveedor no puede admitir la configuración de LockType solicitada, la sustituirá por otro tipo de bloqueo. Para determinar la funcionalidad real de bloqueo disponible en un objeto Recordset de , use el método Supports con adUpdate y adUpdateBatch.

No se admite la configuración de adLockPessimistic si la propiedad CursorLocation está establecida en adUseClient. Si se establece un valor no admitido, no se producirá ningún error; en su lugar, se usará el LockType más cercano admitido.

La propiedad LockType es de lectura y escritura cuando se cierra el Recordset, y de solo lectura cuando está abierto.

Esta sección contiene los temas siguientes.