FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
||||
|
||||
Cursor Abierto
Hola a todos:
Tengo un problema que siempre me ha ocurrido con SQL Server con referente a los cursores.. Me refiero que cuando un Procedimiento almacenado no termina de ejecutarse por algún motivo (Error) el cursor queda abierto, y cuando llamo de nuevo al procedimiento almacenado me dice que el cursor está abierto.. Espero sus ayudas o sugerencias. Saludos..
__________________
No todo es como parece ser... |
#2
|
||||
|
||||
Lo he visto, me ha sucedido y por suerte siempre en desarrollo. Así que solo he bajado y subido el motor, porque una simple búsqueda por su horrorosa ayuda, no me trajo ningún resultado.
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
Cita:
Sí, al parecer no hay otra solución, y quiero corregir algo del primer post que mande...no es que el cursor esté abierto sino que el mensaje que me da es que el cursor ya existe... Quizás esto cambie las cosas, pero lo dudo, debe ser muy parecido a lo del cursor abierto.. Saludos.
__________________
No todo es como parece ser... |
#4
|
||||
|
||||
Buenas...
Nunca se me ha dado este error, pero hay algunos sitios donde hablan de el y en el 90% de los casos no es por un problema del servidor. Código:
IF Cursor_Status('variable', '@pepe_cursor') < 0 DEALLOCATE @pepe_cursor ELSE ... abro el cursor y demas ... Código:
CURSOR_STATUS ( { 'local' , 'cursor_name' } | { 'global' , 'cursor_name' } | { 'variable' , 'cursor_variable' } ) Argumentos 'local' Especifica una constante que indica que el origen del cursor es un nombre local de cursor. 'cursor_name' Es el nombre del cursor. Un nombre de cursor debe ajustarse a las reglas para los identificadores. 'global' Especifica una constante que indica que el origen del cursor es un nombre global de cursor. 'variable' Especifica una constante que indica que el origen del cursor es una variable local. 'cursor_variable' Es el nombre de la variable de cursor. Una variable de cursor debe definirse mediante el tipo de datos cursor. Tipos devueltos smallint 1 = El conjunto de resultados del cursor tiene al menos una fila y: Para los cursores de conjuntos de claves y que no distinguen, el conjunto de resultados tiene al menos una fila. Para los cursores dinámicos, el conjunto de resultados puede tener cero, una o más filas. 0 = El conjunto de resultados del cursor está vacío.* -1 = El cursor está cerrado. -2 = No aplicable. -3 = No existe ningún cursor con el nombre indicado.
__________________
El diseño dira si tiene futuro... Última edición por Xianto fecha: 03-09-2005 a las 11:59:48. |
#5
|
||||
|
||||
Hola:
Federico, no sé si será esto o no, pero últimamente he estado poniendo después del close la instrucción deallocate y, ahora no me ha pasado lo del mensaje diciéndome que el cursor existe... Saludos.
__________________
No todo es como parece ser... Última edición por lucasarts_18 fecha: 12-09-2005 a las 20:40:18. |
|
|
|