MANEJO DE ERRORES EN SQL

29/07/2004 - 17:12 por FERNANDO | Informe spam
HOLA GENTE DEL FORO,
TENGO UNA DUDA Y QUERIA SABER SI ALGUIEN SABE QUE PUEDE
ESTAR OCURRIENDO,
EL TEMA ES QUE TENGO UN SP A QUE LLAMA A UNO B EJ

PROC A
AS

BEGIN TRAN
EXEC @RESULTADO= B PARAM1, PARAM2

IF @RESULTADO = 1
BEGIN
COMMIT TRAN
RETURN 1
END
ELSE
BEGIN
ROLLBACK TRAN
RETURN -1
END

GO

ENTONCES SUPONGAMOS QUE DENTRO DEL SP B OCURRE ESTE ERROR!!

INSERT INTO @TABLA VALUES (99999999999, 'ESTO PRODUCE OVER
FLOW')

ESTO PRODUCE UN ERROR DE OVER FLOW YA QUE EL
CAMPO NUMERICO DE LA TABLA SUPONGAMOS QUE
ACEPTA 5 DIGITOS NUMERICOS

IF @@ERROR <> 0 GOTO MAL


MAL:

RETURN -20

BUENO EL TEMA ES QUE EL STORE A RECONOCE EL ERROR DE B Y
PONE EN EL RETURN -1 Y HACE EL ROLLBACK, PERO ESTE STORE A
ES LLAMADO DESDE UNA COMPONENTE EN VB6 CON ADO Y ESTE
RECIBE COMO ERROR 0 TENGO UNA APLICACION QUE RECOJE LOS
ERRORES Y LOS INFORMA POR MAIL Y ESTE MUESTRA COMO SALIDA -
1, PERO LA COMPONENTE RECIBE 0

¿aLGUIEN SABE QUE PUEDE OCURRIR?

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera [MVP SQL]
29/07/2004 - 18:35 | Informe spam
Puedes usar en el Sproc la sentencia RAISERROR para burbujear el error hacia
la aplicación cliente VB y allí procesarlo.

saludos
gux

Gustavo Larriera
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"FERNANDO" wrote in message
news:685601c4757e$84599910$
HOLA GENTE DEL FORO,
TENGO UNA DUDA Y QUERIA SABER SI ALGUIEN SABE QUE PUEDE
ESTAR OCURRIENDO,
EL TEMA ES QUE TENGO UN SP A QUE LLAMA A UNO B EJ

PROC A
AS

BEGIN TRAN
EXEC @RESULTADO= B PARAM1, PARAM2

IF @RESULTADO = 1
BEGIN
COMMIT TRAN
RETURN 1
END
ELSE
BEGIN
ROLLBACK TRAN
RETURN -1
END

GO

ENTONCES SUPONGAMOS QUE DENTRO DEL SP B OCURRE ESTE ERROR!!

INSERT INTO @TABLA VALUES (99999999999, 'ESTO PRODUCE OVER
FLOW')

ESTO PRODUCE UN ERROR DE OVER FLOW YA QUE EL
CAMPO NUMERICO DE LA TABLA SUPONGAMOS QUE
ACEPTA 5 DIGITOS NUMERICOS

IF @@ERROR <> 0 GOTO MAL


MAL:

RETURN -20

BUENO EL TEMA ES QUE EL STORE A RECONOCE EL ERROR DE B Y
PONE EN EL RETURN -1 Y HACE EL ROLLBACK, PERO ESTE STORE A
ES LLAMADO DESDE UNA COMPONENTE EN VB6 CON ADO Y ESTE
RECIBE COMO ERROR 0 TENGO UNA APLICACION QUE RECOJE LOS
ERRORES Y LOS INFORMA POR MAIL Y ESTE MUESTRA COMO SALIDA -
1, PERO LA COMPONENTE RECIBE 0

¿aLGUIEN SABE QUE PUEDE OCURRIR?
#2 FERNANO
29/07/2004 - 19:36 | Informe spam
ok, AMIGo mUCHAS GRACIAS YA LO PUDE SOLUCIONAR.
de todas formas agradezco tu colaboracion!!


Mostrar la cita
burbujear el error hacia
Mostrar la cita
no otorga ningun
Mostrar la cita
warranties, and confers
Mostrar la cita
message
Mostrar la cita
ERROR!!
Mostrar la cita
SALIDA -
Mostrar la cita
Ads by Google
Search Busqueda sugerida