CAptura de errores...

26/02/2007 - 21:12 por Gijon | Informe spam
Hola estoy programando algunos triggers y Procedimientos Almacendos en SQL
Server 2000. Mi pregunta y duda es que si existe instrucciones o la manera
para que en Codigo T-SQL se pueda hacer una captura o control de errores
dentro de l mismo codigo. Algo asi como la instruccion equivalente en Visual
Basic a "On Error Goto".
Mi ideas es: si existe algo parecido entonces despues mediante la
instruccion RaisError madar a la aplicacion del usuario el error que se
presento en el trigger o Proc Almacenado.


Gracias.

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
26/02/2007 - 21:28 | Informe spam
Gijon,

No en la version 2000. En esta version debes chequear el valor de @@error y
si este es diferente de 0, entonces ocurrio un error y puedes enviar un msg a
la aplicacion cliente usando RAISERROR. SQL Server no tiene el mismo
comportamiento con todo los errores, hay errores que abortan el batch donde
ocurre sin dar el chance de poder capturarlo. En esos casos tendras que
revisar el errore en la aplicacion cliente.

En la version 2005 si contamos con TRY...CATCH para el manejo de errores.

AMB

"Gijon" wrote:

Hola estoy programando algunos triggers y Procedimientos Almacendos en SQL
Server 2000. Mi pregunta y duda es que si existe instrucciones o la manera
para que en Codigo T-SQL se pueda hacer una captura o control de errores
dentro de l mismo codigo. Algo asi como la instruccion equivalente en Visual
Basic a "On Error Goto".
Mi ideas es: si existe algo parecido entonces despues mediante la
instruccion RaisError madar a la aplicacion del usuario el error que se
presento en el trigger o Proc Almacenado.


Gracias.
Respuesta Responder a este mensaje
#2 Gustavo Larriera (MVP)
26/02/2007 - 21:50 | Informe spam
Agrego a los comentarios de Alejandro Mesa, algunos artículos que podrán
serte de utilidad (en inglés):

Exception Handling in SQL Server 2000 and Yukon
http://www.sql-server-performance.c...ndling.asp

Exception Handling in SQL Server 2000 and 2005
http://www.aspfree.com/c/a/MS-SQL-S...-and-2005/

Gustavo Larriera, MVP
http://aspnet2.com/mvp.ashx?GustavoLarriera
http://solidqualitylearning.com/blogs/glarriera/
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Alejandro Mesa" wrote:

Gijon,

No en la version 2000. En esta version debes chequear el valor de @@error y
si este es diferente de 0, entonces ocurrio un error y puedes enviar un msg a
la aplicacion cliente usando RAISERROR. SQL Server no tiene el mismo
comportamiento con todo los errores, hay errores que abortan el batch donde
ocurre sin dar el chance de poder capturarlo. En esos casos tendras que
revisar el errore en la aplicacion cliente.

En la version 2005 si contamos con TRY...CATCH para el manejo de errores.

AMB

"Gijon" wrote:

> Hola estoy programando algunos triggers y Procedimientos Almacendos en SQL
> Server 2000. Mi pregunta y duda es que si existe instrucciones o la manera
> para que en Codigo T-SQL se pueda hacer una captura o control de errores
> dentro de l mismo codigo. Algo asi como la instruccion equivalente en Visual
> Basic a "On Error Goto".
> Mi ideas es: si existe algo parecido entonces despues mediante la
> instruccion RaisError madar a la aplicacion del usuario el error que se
> presento en el trigger o Proc Almacenado.
>
>
> Gracias.
Respuesta Responder a este mensaje
#3 Alejandro Mesa
26/02/2007 - 23:22 | Informe spam
Gustavo,

Aca adjunto dos links mas, muy buenos por cierto (sobre todo para 2000).

Error Handling in SQL Server – a Background
http://www.sommarskog.se/error-handling-I.html

Implementing Error Handling with Stored Procedures
http://www.sommarskog.se/error-handling-II.html

Saludos,

Alejandro Mesa


"Gustavo Larriera (MVP)" wrote:

Agrego a los comentarios de Alejandro Mesa, algunos artículos que podrán
serte de utilidad (en inglés):

Exception Handling in SQL Server 2000 and Yukon
http://www.sql-server-performance.c...ndling.asp

Exception Handling in SQL Server 2000 and 2005
http://www.aspfree.com/c/a/MS-SQL-S...-and-2005/

Gustavo Larriera, MVP
http://aspnet2.com/mvp.ashx?GustavoLarriera
http://solidqualitylearning.com/blogs/glarriera/
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Alejandro Mesa" wrote:

> Gijon,
>
> No en la version 2000. En esta version debes chequear el valor de @@error y
> si este es diferente de 0, entonces ocurrio un error y puedes enviar un msg a
> la aplicacion cliente usando RAISERROR. SQL Server no tiene el mismo
> comportamiento con todo los errores, hay errores que abortan el batch donde
> ocurre sin dar el chance de poder capturarlo. En esos casos tendras que
> revisar el errore en la aplicacion cliente.
>
> En la version 2005 si contamos con TRY...CATCH para el manejo de errores.
>
> AMB
>
> "Gijon" wrote:
>
> > Hola estoy programando algunos triggers y Procedimientos Almacendos en SQL
> > Server 2000. Mi pregunta y duda es que si existe instrucciones o la manera
> > para que en Codigo T-SQL se pueda hacer una captura o control de errores
> > dentro de l mismo codigo. Algo asi como la instruccion equivalente en Visual
> > Basic a "On Error Goto".
> > Mi ideas es: si existe algo parecido entonces despues mediante la
> > instruccion RaisError madar a la aplicacion del usuario el error que se
> > presento en el trigger o Proc Almacenado.
> >
> >
> > Gracias.
Respuesta Responder a este mensaje
#4 Gustavo Larriera (MVP)
26/02/2007 - 23:43 | Informe spam
Gracias Alejandro, siempre son de excelente nivel los artículos del MVP
Erland Sommarskog! :-)


Alejandro Mesa wrote:
Gustavo,

Aca adjunto dos links mas, muy buenos por cierto (sobre todo para 2000).

Error Handling in SQL Server – a Background
http://www.sommarskog.se/error-handling-I.html

Implementing Error Handling with Stored Procedures
http://www.sommarskog.se/error-handling-II.html

Saludos,

Alejandro Mesa


"Gustavo Larriera (MVP)" wrote:

Agrego a los comentarios de Alejandro Mesa, algunos artículos que podrán
serte de utilidad (en inglés):

Exception Handling in SQL Server 2000 and Yukon
http://www.sql-server-performance.c...ndling.asp

Exception Handling in SQL Server 2000 and 2005
http://www.aspfree.com/c/a/MS-SQL-S...-and-2005/

Gustavo Larriera, MVP
http://aspnet2.com/mvp.ashx?GustavoLarriera
http://solidqualitylearning.com/blogs/glarriera/
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Alejandro Mesa" wrote:

Gijon,

No en la version 2000. En esta version debes chequear el valor de @@error y
si este es diferente de 0, entonces ocurrio un error y puedes enviar un msg a
la aplicacion cliente usando RAISERROR. SQL Server no tiene el mismo
comportamiento con todo los errores, hay errores que abortan el batch donde
ocurre sin dar el chance de poder capturarlo. En esos casos tendras que
revisar el errore en la aplicacion cliente.

En la version 2005 si contamos con TRY...CATCH para el manejo de errores.

AMB

"Gijon" wrote:

Hola estoy programando algunos triggers y Procedimientos Almacendos en SQL
Server 2000. Mi pregunta y duda es que si existe instrucciones o la manera
para que en Codigo T-SQL se pueda hacer una captura o control de errores
dentro de l mismo codigo. Algo asi como la instruccion equivalente en Visual
Basic a "On Error Goto".
Mi ideas es: si existe algo parecido entonces despues mediante la
instruccion RaisError madar a la aplicacion del usuario el error que se
presento en el trigger o Proc Almacenado.


Gracias.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida