sábado, 28 de mayo de 2011

Access: Error MaxLocksPerFile, se excedió el número de bloqueos de archivos compartidos

Si trabajamos en Microsoft Access copiando y pegando grandes cantidades de datos es probable que nos aparezca el  error: Se excedió el número de bloqueos de archivos compartidos. Aumente el valor de la entrada MaxLocksPerFile del Registro.


Se excedió el número de bloqueos de archivos compartidos. Aumente el valor de la entrada MaxLocksPerFile del Registro.

El valor predeterminado es 9.500, y se puede cambiar modificando el Registro con Regedit.exe o el método SetOption. Tal y como se explica en la  Knowledge Base de Microsoft y que podemos ven la siguiente página web:

Podemos ejecutar el editor del registro pulsando la tecla [Windows] + [R] y luego escribiendo regedit.exe 

Otros factores que pueden hacer que una aplicación alcance este umbral son los siguientes:

  • cantidad de memoria disponible 
  • tamaño de las filas en el conjunto de registros 
  • restricciones de red del sistema operativo 

Hay que tener en cuenta que las claves del registro que propone modificar Microsoft no son válidas para Access 2007 en Windows 7 64bits.

Al menos en mi caso estas son las claves que hay que modificar para solucionar el problema:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Jet 4.0\MaxLocksPerFile
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Access Connectivity Engine\Engines\ACE\MaxLocksPerFile

Pondremos en Decimal la cifra que consideremos adecuada 10000, 12000, o lo que sea pero teniendo en cuenta que valores demasiado altos puede hacer que la base de datos vaya demasiado lenta o producir errores. No olvidemos que tenemos que abrir Regedit con permisos de administración para poder editar los registros y que siempre que se manipula el registro es conveniente hacer una copia de seguridad del mismo.



No hay comentarios:

Publicar un comentario