Problema al intentar capturar un error de un Proc.Almacenado

14/12/2003 - 09:34 por Gemma Ortuño | Informe spam
Hola grupo:

En SQL tengo un procedimiento almacenado similar a éste:

create proc GP_PruebaAplica
as
set nocount on

select articulo from Articulos where articulo = 'Ref01'
if @@ROWCOUNT = 0
raiserror('Error',16,1)

set nocount off

Desde mi programa utilizo una conexión ODBC para conectarme al servidor.
Cuando
ejecuto la llamada a este procedimiento almacenado mi rutina de captura de
errores
no lo realiza correctamente y el error que me devuelve es algo así:
"Error de Conectividad. No se puede obtener información específica del
error. Probablemente el
controlador no tiene recursos suficientes"
Entiendo que ésto ocurre porque el Proc. Almacenado intenta devolver el
conjunto de resultados del "select" y además el
resultado del "raiserror" cuando corresponde.
¿ Se puede evitar ésto para que el Proc. Almacenado sólo nos devuelva el
Raiserror cuando corresponda ?
 

Leer las respuestas

#1 Eladio Rincón
15/12/2003 - 14:54 | Informe spam
Hola,

no creo que sea porque el procedimiento devuelve registros porque si los
devolviera no haría el raiseerror;

¿has provado a hacerlo enviando sólamente el error y te ha llegado la
información del error al cliente?

Saludos,
Eladio Rincón.

"Gemma Ortuño" escribió en el mensaje
news:
Hola grupo:

En SQL tengo un procedimiento almacenado similar a éste:

create proc GP_PruebaAplica
as
set nocount on

select articulo from Articulos where articulo = 'Ref01'
if @@ROWCOUNT = 0
raiserror('Error',16,1)

set nocount off

Desde mi programa utilizo una conexión ODBC para conectarme al servidor.
Cuando
ejecuto la llamada a este procedimiento almacenado mi rutina de captura de
errores
no lo realiza correctamente y el error que me devuelve es algo así:
"Error de Conectividad. No se puede obtener información específica del
error. Probablemente el
controlador no tiene recursos suficientes"
Entiendo que ésto ocurre porque el Proc. Almacenado intenta devolver el
conjunto de resultados del "select" y además el
resultado del "raiserror" cuando corresponde.
¿ Se puede evitar ésto para que el Proc. Almacenado sólo nos devuelva el
Raiserror cuando corresponda ?


Preguntas similares