Foros del Web » Programación para mayores de 30 ;) » .NET »

Control de Errores SQL 2005

Estas en el tema de Control de Errores SQL 2005 en el foro de .NET en Foros del Web. Hola amigos estos poniendo esto en mis stores: Código: IF @@Error <> 0 INSERT INTO tblControlErrores (Stored, Mensaje, Fecha) VALUES ('spP_PC_PreparaRegalias', 'Ocurrió un error en ...
  #1 (permalink)  
Antiguo 27/11/2009, 09:22
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Pregunta Control de Errores SQL 2005

Hola amigos estos poniendo esto en mis stores:

Código:
IF @@Error <> 0 
	INSERT INTO tblControlErrores (Stored, Mensaje, Fecha)
	VALUES 	('spP_PC_PreparaRegalias', 
		'Ocurrió un error en el cuerpo del Stored.', 
		GetDate())
La duda que tengo es que me gustaria guardar informacion mas detallada, como puedo atrapara la descripcion del error y guardarla en mi tabla despues de que marca error.

De antemano muchas gracias y espero haberme dado a entender.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."

Última edición por mvazquez; 27/11/2009 a las 10:48
  #2 (permalink)  
Antiguo 27/11/2009, 14:45
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Control de Errores SQL 2005

No hay alguien que se anime a comentar?
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #3 (permalink)  
Antiguo 28/11/2009, 04:51
Avatar de Valery-Net  
Fecha de Ingreso: agosto-2008
Mensajes: 694
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Control de Errores SQL 2005

Yo en mis sentencias TSQL uso el siguiente código

Cita:
BEGIN TRY

BEGIN TRANSACTION

SENTENCIAS INSERT EN VARIAS TABLAS
UPDATES ....


COMMIT
END TRY

BEGIN CATCH
If @@TRANCOUNT > 0
ROLLBACK
DECLARE @ErrMsg nvarchar(4000), @ErrSeverity int
SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY()
RAISERROR(@ErrMsg, @ErrSeverity, 1)
End Catch
Si lo que deseas grabar en una tabla más información del error podrías obtener información de las variables ERROR_MESSAGE() y ERROR_SEVERITY(), tal como lo hago en mi código.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:53.