Problema con Bloqueos

25/09/2005 - 17:24 por ernessan | Informe spam
Hola a todos y gracias por leer esto:

Tengo un problema q estoy un poco perdido en la solucion.

El tema es que tengo un sp que a su vez llama a varios sp. De estos sp hijos
hay varios que tiene cursores para recuperar la informacion.

El sp principal tiene una transaccion q termina al terminar su ejecucion,
pero mi problema viene en que al llamar al sp desde dos maquina diferentes
se produce un interbloqueo, que me lo jode todo

Mirando la actividad actual veo que una tabla que utilizo dentro de un sp
hijo que tiene un cursor, esta bloqueada muchas veces. Yo esa tabla en
concreto la utilizo dentro del sp solo para consulta.

Las preguntas son:
como podria evitarme esos bloqueos?
es problema de los cursores?
si es asi, un cursor bloquea todas las filas de una tabla?
Como podria yo indicar que solo quiero que me bloque la fila que esta
leyendo solo y no todo?

Se podria crear un transaccion que me englobara todo el proceso y ademas
crear otra por cada sp hijo, ayudaria en algo??


Tengo muchas mas preguntas, pero con esas me podria orientar

Espero haberme explicado bien

M;uchas gracias

Ernessan.
 

Leer las respuestas

#1 Maxi
25/09/2005 - 18:43 | Informe spam
Hola, la respuesta es muy simple!! el uso de cursores no es una buena idea y
no se deberian usar a menos que no exista otra opcion. Elimina el cursor y
piensa sin el y veras como todo se soluciona de una manera muy simple :-)


Culminis SQL-Server Speakers (http://latam.culminis.com)

Maxi - Buenos Aires - Argentina
Msn_messager:
mail: Maxi.da[arroba]gmail.com

"ernessan" <ernestoARROBAbyte-factory.com> escribió en el mensaje
news:O$
Hola a todos y gracias por leer esto:

Tengo un problema q estoy un poco perdido en la solucion.

El tema es que tengo un sp que a su vez llama a varios sp. De estos sp
hijos
hay varios que tiene cursores para recuperar la informacion.

El sp principal tiene una transaccion q termina al terminar su ejecucion,
pero mi problema viene en que al llamar al sp desde dos maquina diferentes
se produce un interbloqueo, que me lo jode todo

Mirando la actividad actual veo que una tabla que utilizo dentro de un sp
hijo que tiene un cursor, esta bloqueada muchas veces. Yo esa tabla en
concreto la utilizo dentro del sp solo para consulta.

Las preguntas son:
como podria evitarme esos bloqueos?
es problema de los cursores?
si es asi, un cursor bloquea todas las filas de una tabla?
Como podria yo indicar que solo quiero que me bloque la fila que esta
leyendo solo y no todo?

Se podria crear un transaccion que me englobara todo el proceso y ademas
crear otra por cada sp hijo, ayudaria en algo??


Tengo muchas mas preguntas, pero con esas me podria orientar

Espero haberme explicado bien

M;uchas gracias

Ernessan.







Preguntas similares