SQL Server - Raiserror siempre 50000

 
Vista:

Raiserror siempre 50000

Publicado por RelmonT (3 intervenciones) el 09/05/2007 00:19:18
Hola, como les va.
Estoy haciendo una aplicacion en la que uso un procedimiento al macenado con transacciones, la cuestion es que siempre me retorna error 50000 y yo quiero el error especifico que se da para controlar acorde a el el funcionamiento de la aplicacion, el procedimiento almacenado en escencia es el siguiente:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [personal].[Ingresos]
(
@Codigo int ,
@NumIdentidad nvarchar(19) ,
@Nombre nvarchar(40) ,
@Dui nvarchar(10) ,
)
AS
begin try
begin transaction
DECLARE @numemp AS smallint
SET @numemp = 0
select @numemp = count(*) from personal.empleados
where dui = @dui
if @numemp > 0
raiserror ('EL EMPLEADO YA ESTA REGISTRADO EN LA BASE... VERIFIQUE!',11,1)
insert into personal.empleados (...)
values (...)
insert into personal.transaccionesempleados(...)
values (...)
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
DECLARE @ERROR_MESSAGE NVARCHAR(4000);
DECLARE @ERROR_SEVERITY INT;
SELECT @ERROR_MESSAGE = ERROR_MESSAGE(), @ERROR_SEVERITY = ERROR_SEVERITY();
raiserror(@ERROR_MESSAGE, @ERROR_SEVERITY,1)
rollback transaction
END CATCH

RETURN

----------------------------------------

se supone que la idea es que hago una preverificacion si ya existe ese empleado por medio de su documento de identificacion antes de ser ingresado (por si ya trabajo antes) y lugo claro, el control de la transaccion. Luego necesito mandar el error en especifico a mi aplicacion pero independientemente lo que pase, siempre me captura un error 50000 y la verdad ya no puedo controlar el flujo de mi aplicacion como quiero. En que ando mal :S???

Gracias de antemano, se cuidan....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Raiserror siempre 50000

Publicado por Isaías (3308 intervenciones) el 09/05/2007 02:10:01
¿Y sabes que es el "error" 50000?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Raiserror siempre 50000

Publicado por RelmonT (3 intervenciones) el 09/05/2007 17:28:36
Pues no tengo nada de experiencia en sqlserver sino lo mas seguro es que lo sabria, por eso la pregunta, y la verdad no me ha quedado mucho tiempo para ponerme al dia. Pero segun tengo entendido eso lo manda siempre que se mandan errores personalizados, es decir raiserror; aunque no estoy seguro. Quizas la pregunta es ¿como hago entonces para mandar el verdadero error que se desencadena en la bd para que la capture mi aplicacion?. Si me podrias dar una ayudadita porque lo que menos quiero son mas dudas se te agradeceria mucho. chao, se cuidan.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Raiserror siempre 50000

Publicado por Isaías (3308 intervenciones) el 09/05/2007 17:51:22
Te preguntaba si sabias que significaba el 50000, porque segun tengo entendido, hay mensajes que por su naturaleza, no necesariamente son ERRORES, simplemente son avisos de exito en la instruccion, inserccion, borrado, etc.

Por estos foros, alguna vez publique un articulo sobre "MANEJO DE ERRORES" en SQL Server, seria conveniente buscarlo y leer un poco sobre el tema.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Raiserror siempre 50000

Publicado por RelmonT (3 intervenciones) el 09/05/2007 23:52:44
OK, lo revisaré. Gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar