como desplegar o capturar errores en sqlserver
Publicado por Freddy (1 intervención) el 17/09/2010 23:37:13
Buenas tardes la consulta es..
tengo un proceso en sqlserver 2000 el seguiente
@cedula es una variable declaro la variable como caracter de 50
select @cedula = cedula
from xx
where cedula in ( select cedula from xxx )
el problema que tengo es.?
si hago el select a 1,2 o 3 registro(s) me corre sin problemas
pero cuando lo hago a una tabla a nivel para que me traiga toda la informacion
resulta que existe una o varias cedulas que traen basura en el registro
y me da error
Server: Msg 8115, Level 16, State 8, Line 14
Arithmetic overflow error converting numeric to data type numeric.
en el proceso le trate de agregar un excepcion o un capturar de errores para poder identificar cual cedula o cedulas trae la basura
set @Error = @@ERROR
if @Error <> 0 --if error is raised
begin
goto LogError
end
goto ProcEnd
LogError:
declare @ErrMsg varchar(1000)
select 'MOSTRAR ERROR' from master.dbo.sysmessages
where error = @Error
ProcEnd:
End
pero no me sirve.
alguna idea de como debo hacerlo
me pueden enviar la respuesta al correo hotmail.com gracias...
la idea es cuando este ejecutando el proceso.
si da error. que aparezca el mensaje de error y el valor de la cedula.
talvez exista otra forma mas facil
gracias.
tengo un proceso en sqlserver 2000 el seguiente
@cedula es una variable declaro la variable como caracter de 50
select @cedula = cedula
from xx
where cedula in ( select cedula from xxx )
el problema que tengo es.?
si hago el select a 1,2 o 3 registro(s) me corre sin problemas
pero cuando lo hago a una tabla a nivel para que me traiga toda la informacion
resulta que existe una o varias cedulas que traen basura en el registro
y me da error
Server: Msg 8115, Level 16, State 8, Line 14
Arithmetic overflow error converting numeric to data type numeric.
en el proceso le trate de agregar un excepcion o un capturar de errores para poder identificar cual cedula o cedulas trae la basura
set @Error = @@ERROR
if @Error <> 0 --if error is raised
begin
goto LogError
end
goto ProcEnd
LogError:
declare @ErrMsg varchar(1000)
select 'MOSTRAR ERROR' from master.dbo.sysmessages
where error = @Error
ProcEnd:
End
pero no me sirve.
alguna idea de como debo hacerlo
me pueden enviar la respuesta al correo hotmail.com gracias...
la idea es cuando este ejecutando el proceso.
si da error. que aparezca el mensaje de error y el valor de la cedula.
talvez exista otra forma mas facil
gracias.
Valora esta pregunta


0