Bentian Logo
Bentian Resolución de Incidencias
Microsoft Access Database Engine • Concurrencia OLEDB & Error 3045

Cómo Solucionar y Evitar el Bloqueo de Archivos .ldb en Factusol

Es el escenario temido por todo comercio: la cola de clientes crece en la tienda física, el empleado escanea un producto en el TPV de Factusol y el programa se congela por completo mostrando "No responde" o el Error 3045: "El archivo ya está en uso por otro proceso". La causa suele ser un conector web externo o plugin ODBC bloqueando la tabla maestra de artículos (F_ART). Aquí tienes la explicación técnica detallada y su solución definitiva.

El Mecanismo Interno del Bloqueo .ldb / .laccdb

Factusol se apoya en el motor Microsoft Access (Jet/ACE OLEDB). Cuando un proceso abre el archivo FSC26.accdb, el motor crea automáticamente un archivo de bloqueo (FSC26.laccdb de 64 bytes por cada sesión). Si un conector abre la base de datos solicitando acceso exclusivo o sin especificar cerrojo compartido, Windows bloquea físicamente la apertura del archivo para cualquier otro puesto.

❌

Conector Tradicional / Plugin ODBC

  • • Conexiones ODBC persistentes: Mantiene el archivo .laccdb permanentemente abierto durante minutos.
  • • Bloqueo por página (4 KB): Bloquea bloques enteros de registros contiguos de F_ART mientras lee el catálogo.
  • • Conflicto directo con el TPV: Cuando la dependienta pulsa "Cobrar", Factusol intenta escribir en F_LAL y actualizar F_STO. Se produce un interbloqueo (*deadlock*) y la pantalla se congela.
  • • Ficheros huérfanos: Si el conector sufre un timeout, el archivo .laccdb queda atrapado en el NAS.
✅

Bentian ERP Bridge (Store-and-Forward)

  • • Modo 'Share Deny None': Nunca solicita acceso exclusivo. Comparte lectura con todos los puestos de la oficina.
  • • Bloqueo a nivel de registro (Locking Mode=1): Aísla únicamente la fila concreta en edición puntual (<15 ms).
  • • Dirty Checking en RAM: Carga un snapshot en local en menos de 50 ms y cierra de inmediato la conexión OLEDB.
  • • Escritura atómica Store-and-Forward: Los pedidos web se encolan en SQLite y se insertan cuando Factusol no está transaccionando.
ARQUITECTURA DE CÓDIGO

La Cadena de Conexión OLEDB Anti-Bloqueo

Para que cualquier aplicación externa pueda interactuar con la base de datos de Factusol sin perturbar a los puestos de trabajo físicos ni causar el Error 3045, la cadena de conexión del proveedor Microsoft.ACE.OLEDB.12.0 debe incorporar obligatoriamente los flags de concurrencia compartida:

// Cadena canónica blindada utilizada por Bentian ERP Bridge:
Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=\\NAS_SERVIDOR\FactuSOL\Datos\FS\2026\FSC26.accdb;
Mode=Share Deny None;
Jet OLEDB:Database Locking Mode=1;
Jet OLEDB:Engine Type=6;
Persist Security Info=False;
Mode=Share Deny None Indica expresamente al sistema operativo que la aplicación no deniega permisos ni de lectura ni de escritura a ningún otro usuario o equipo de la red.
Jet OLEDB:Database Locking Mode=1 Fuerza al motor Access a utilizar bloqueo de registro individual (Row-Level Locking) suprimiendo el bloqueo de páginas de 4.096 bytes que bloqueaba a artículos colindantes en F_ART.
PROTOCOLO DE EMERGENCIA

Cómo Desbloquear un Archivo .laccdb Huérfano en Windows

Si un equipo sufrió un corte de luz o se apagó bruscamente mientras Factusol estaba abierto, el archivo .laccdb permanece retenido por el servicio del servidor de archivos SMB. Sigue estos pasos para liberarlo sin tener que reiniciar el servidor:

1

Cerrar Factusol en todas las estaciones de trabajo

Verifica en el Administrador de Tareas (Ctrl + Mayús + Esc) de los puestos de la oficina que no haya ningún proceso FACTUSOL.exe o cscript.exe colgado en segundo plano.

2

Abrir la consola de Administración de Equipos en el Servidor

En el servidor o PC que aloja los datos, pulsa Win + R, escribe fsmgmt.msc y pulsa Enter.

3

Cerrar los handles abiertos del archivo .laccdb

Navega a Carpetas compartidas > Archivos abiertos. Localiza en la lista cualquier entrada que haga referencia a FSC26.laccdb o FSC26.accdb. Haz clic derecho y selecciona Cerrar archivo abierto.

4

Eliminar manualmente el archivo de cerrojo .laccdb

Abre el Explorador de Archivos, acude a la carpeta de datos de Factusol y elimina directamente el archivo *.laccdb. Ahora los usuarios podrán entrar normalmente en Factusol sin errores.

ARQUITECTURA INDUSTRIAL

Cómo Bentian ERP Bridge Blinda tu Factusol contra Bloqueos

Para negocios con alto volumen comercial o venta combinada en tienda física y tienda online (WooCommerce, PrestaShop, Shopify), Bentian fue diseñado desde cero para respetar las limitaciones del motor Access:

01. Snapshot Efímero

Las lecturas no mantienen la conexión abierta. El agente ejecuta una consulta ultrarrápida, lee los datos a RAM en menos de 50 ms y cierra de inmediato el canal OLEDB.

02. Store-and-Forward

Los pedidos recibidos desde la web se almacenan en una cola SQLite interna. Si la base de datos de Factusol está ocupada por el TPV físico, el agente espera milisegundos y reintenta sin generar errores ni colapsar la caja.

03. Transacciones Atómicas

La inserción del pedido en F_PCL y de sus líneas en F_LPC se ejecuta dentro de una transacción que dura entre 5 y 15 milisegundos, imperceptible para los usuarios físicos.

Preguntas Frecuentes sobre Cerrojos y Concurrencia en Factusol

¿Borrar el archivo .laccdb puede corromper los datos de Factusol? ▼

No, siempre que todos los programas y usuarios estén cerrados. El archivo .laccdb contiene únicamente metadatos de bloqueo y sesiones activas. Las tablas, artículos y facturas residen exclusivamente en el archivo .accdb.

¿Por qué Factusol va más lento en servidores NAS de red (Synology / QNAP)? ▼

El motor Access no procesa consultas en el servidor NAS, sino que transfiere fragmentos enteros del archivo accdb a través del protocolo SMB hacia la memoria del PC cliente. Si la red tiene latencia o el protocolo de red está mal ajustado, la sincronización de cerrojos .laccdb se ralentiza exponencialmente.

¿Cómo ayuda la herramienta compactar y reparar de Factusol? ▼

En Factusol, ir a Archivo > Opciones > Mantenimiento de bases de datos > Compactación elimina el espacio no utilizado y reconstruye los índices B-Tree de las tablas F_ART y F_PCL, reduciendo el riesgo de fragmentación y bloqueos residuales.

Di Adiós a los Cuelgues de Factusol y el TPV

Descarga Bentian ERP Bridge y disfruta de una sincronización web sin bloqueos de ficheros .ldb ni interrupciones en tu tienda física.