Tengo una aplicación VB6 que accede a una sola tabla en un servidor MSSQL2000 a través de ADO. Estoy usando acceso de solo lectura (adOpenStatic, adLockReadOnly). Hay otras aplicaciones en la red que realizan cambios en la tabla.¿Es posible crear un interbloqueo con acceso de solo lectura?
Por alguna razón, recibo errores sobre mi aplicación como víctima de interbloqueo.
Estoy muy confundido: ¿Por qué puede haber un punto muerto cuando estoy simplemente leyendo desde una sola tabla? Esperaría tiempos de espera, debido a la escritura de las otras aplicaciones, pero no a un punto muerto ...
¿Alguien puede arrojar algo de luz sobre esto?
ACTUALIZACIÓN: 2009-06-15 Todavía estoy interesado en una solución a este problema. Así que estoy proporcionando algo más de información:
- no hace ninguna diferencia si decido adOpenForwardOnly o adOpenStatic
- No hace ninguna diferencia si la posición del cursor es cliente o servidor.
Espero que hayas aprendido que un READ definitivamente puede estancarse, muchas respuestas han señalado cómo sucede esto. Ahora necesita hacer su tarea y dar el resto de la información, es decir. quién está bloqueando * con * y el gráfico de interbloqueo. –
Desafortunadamente, solo puedo reproducir el problema en el sistema de producción, así que tengo que tomarlo con calma y no apresurar nada. Además, solo puedo acceder al servidor a través de una extraña combinación de VPN/VNC/Escritorio remoto/Herramienta de transferencia de archivos personalizada (no preguntar), por lo que incluso un solo control o copiar un nuevo archivo ejecutable requiere años. –