otra de errores

29/08/2003 - 08:52 por Félix Vela | Informe spam
Hola a todos! Tengo un problemilla con el control de
errores de un procedimiento almacenado. Me explico.
Despues de ayer leerme un par de articulos que me paso
Carlos Sacristan,los cuales me desmotivaron por completo
(a pesar de ser muy interesantes), me decidi a hacer
control de errores de mi procedimiento almacenado. Este
procedimiento llama a otros, que los modifique para que
diesen un error. Este error lo intentete coger desde mi
procedimietno con una variable declarada @error, puesto
que en cuanto consultas @@error se le actualiza su valor a
0. Mi problema es que al procedimiento almacenado al que
llamo (que se que tiene un error), me devuelve como
@@error 0, es decir, como si no hubiese tenido error. Mi
pregunta es la siguiente: Hay que controlar el error
dentro del sp y sacarlo fuera por medio de una variable
output, o estoy haciendo algo mas?
Gracias por su ayuda.
Félix Vela.

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
29/08/2003 - 09:24 | Informe spam
¿Cómo estás recogiendo el error que se supone que produce ese
procedimiento?.

Normalmente, cuando quieres indicar que un procedimiento almacenado ha
finalizado incorrectamente, lo indicas devolviendo un número distinto de 0
en la sentencia RETURN, no sé si lo que quieres es eso...



Un saludo

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

Por favor, responder únicamente al foro

Se agradece la inclusión de sentencias DDL

Archivo de respuestas anteriores en:
http://groups.google.com/groups?hl=....public.es
.sqlserver

(Guía de netiquette del foro)
http://www.helpdna.net/bosqlfaq00.htm
http://perso.wanadoo.es/rubenvigon/foro

(FAQ's de SQL Server)
http://support.microsoft.com/defaul.../70faq.asp
http://www.helpdna.net/bosqlfaq.htm

"Félix Vela" escribió en el mensaje
news:079601c36dfa$12ff7910$
Hola a todos! Tengo un problemilla con el control de
errores de un procedimiento almacenado. Me explico.
Despues de ayer leerme un par de articulos que me paso
Carlos Sacristan,los cuales me desmotivaron por completo
(a pesar de ser muy interesantes), me decidi a hacer
control de errores de mi procedimiento almacenado. Este
procedimiento llama a otros, que los modifique para que
diesen un error. Este error lo intentete coger desde mi
procedimietno con una variable declarada @error, puesto
que en cuanto consultas @@error se le actualiza su valor a
0. Mi problema es que al procedimiento almacenado al que
llamo (que se que tiene un error), me devuelve como
@@error 0, es decir, como si no hubiese tenido error. Mi
pregunta es la siguiente: Hay que controlar el error
dentro del sp y sacarlo fuera por medio de una variable
output, o estoy haciendo algo mas?
Gracias por su ayuda.
Félix Vela.
Respuesta Responder a este mensaje
#2 Félix Vela
29/08/2003 - 10:05 | Informe spam
Yo pensaba que se quedaba en @@error hasta que accedes a
ella. entonces lo que hago es declararme un @error, y hago
set @error=@@error asi se pondra a 0, pero yo ya tnedre el
supuesto valor distinto de 0. Peo siempre me da 0.
lo que no hago es return en el procedimietno almacenado
puede que sea ese el fallo. ese sp me devuelve un valor,
pero nohabia pensado lo del return. voy ha hacer return
@@error. Gracias por la idea.
Saludos.
Félix Vela
Respuesta Responder a este mensaje
#3 Javier Loria\(MVP\)
29/08/2003 - 16:13 | Informe spam
Hola Felix:
Aparte de hacer el return diferente de 0, si quieres pasar mas
informacion al cliente puedes hacerlo con RAISEERROR. Es por este mecanismo
que das informacion del error. Los errores por encima de 50000 estan
reservados para mensajes de errores personalizados.
Saludos,


Javier Loria
Costa Rica (MVP)
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Félix Vela escribio:
Yo pensaba que se quedaba en @@error hasta que accedes a
ella. entonces lo que hago es declararme un @error, y hago
set @error=@@error asi se pondra a 0, pero yo ya tnedre el
supuesto valor distinto de 0. Peo siempre me da 0.
lo que no hago es return en el procedimietno almacenado
puede que sea ese el fallo. ese sp me devuelve un valor,
pero nohabia pensado lo del return. voy ha hacer return
@@error. Gracias por la idea.
Saludos.
Félix Vela
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida