Manejo de error en sql
Hola,
tengo una duda y quería 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 numérico de la tabla supongamos que acepta 5 dígitos numéricos
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 aplicación que recoge los errores y los informa por mail y este muestra como salida -1, pero la componente recibe 0
¿Sabes qué puede ocurrir?
tengo una duda y quería 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 numérico de la tabla supongamos que acepta 5 dígitos numéricos
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 aplicación que recoge los errores y los informa por mail y este muestra como salida -1, pero la componente recibe 0
¿Sabes qué puede ocurrir?
1 respuesta
Respuesta de deimos31
1