Lectura de registros bloqueados por una transaccion

03/01/2006 - 13:57 por Juan Fran | Informe spam
Mi problema se da cuando tengo que actualizar un conjunto de registros
en una transaccion.
En mi aplicacion tengo establecida una transaccion en la capa de datos
(no es un procedimiento almacenado). En el proceso de actualizacion
necesito hacer una SELECT para actualizar o no cierto registro. El
problema lo tengo cuando hago una SELECT sobre un registro sobre el
cual he realizado una modificacion (UPDATE). En este caso recibo el
mensaje de que se ha agotado el tiempo de respuesta .
¿Es posible hacer lo que quiero hacer?. Es decir ¿puedo hacer una
SELECT para leer los registros que tengo bloqueados yo mismo ?
 

Leer las respuestas

#1 Carlos Sacristán
03/01/2006 - 14:09 | Informe spam
Supongo que cuando comentas que eres tú mismo el que tiene bloqueados
esos registros te refieres a la misma aplicación, pero probablemente no a la
misma conexión (si no fuera así, no existirían esos bloqueos).

Yo te recomendaría finalizar esa transacción que tienes abierta, porque
aunque puedas leer esos registros bloqueados (con la sugerencia de bloqueo
NOLOCK), los datos mostrados no son reales hasta que no se haga un COMMIT o
un ROLLBACK de dicha transacción.

La verdad es que no podemos ayudarte mucho porque nos faltan datos. Yo
que tú me plantearía las siguientes preguntas:

- ¿es necesario tener abierta esa transacción tanto tiempo?
- ¿por qué le vas a mostrar al usuario datos que pueden cambiar?


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Juan Fran" escribió en el mensaje
news:
Mi problema se da cuando tengo que actualizar un conjunto de registros
en una transaccion.
En mi aplicacion tengo establecida una transaccion en la capa de datos
(no es un procedimiento almacenado). En el proceso de actualizacion
necesito hacer una SELECT para actualizar o no cierto registro. El
problema lo tengo cuando hago una SELECT sobre un registro sobre el
cual he realizado una modificacion (UPDATE). En este caso recibo el
mensaje de que se ha agotado el tiempo de respuesta .
¿Es posible hacer lo que quiero hacer?. Es decir ¿puedo hacer una
SELECT para leer los registros que tengo bloqueados yo mismo ?

Preguntas similares