Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > SQL Server

Respuesta
 
Herramientas Desplegado
Antiguo 15-jun-2007, 15:18   #1 (permalink)
(Desactivado)
Developer9 Developer9
 
Avatar de Developer9
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.202
Enviar un mensaje por MSN a Developer9
Pregunta Como detectar si hay error al enviar un e-mail desde un sp

Que tal weyes, hize un procedimiento que envia un mail. el codigo es este:

Código:
ALTER PROCEDURE [dbo].[EnviaCorreoElectronico]

@PI_Destinatarios varchar(max),
@PI_Titulo nvarchar(255),
@PI_Body nvarchar(max)

AS

		EXEC msdb.dbo.sp_send_dbmail 
		--@profile_name = 'Desarrollo',
		@recipients = @PI_Destinatarios,
		@subject = @PI_Titulo,
		@body = @PI_Body,
		@body_format = 'HTML';

Sencillito. Lo probé enviandome un mail a mi mismo y si funciona. Pero quisiera detectar si existe algún error. A propósito quité el comenté el primer parámetro y le hice alter table al procedimiento y luego lo ejecuté:

Código:
exec EnviaCorreoElectronico
 'jsevillano@aifasa.com', 
'Probando envio de correo electrónico desde un procedimiento almacenado de SQL Server 2005',
'Este es Cuerpo del mensaje'

if @@error<>0
begin
	select 'Error'
end
pero el @@error es igual a cero. Aunque me sale el error:

Msg 14636, Level 16, State 1, Procedure sp_send_dbmail, Line 94
No global profile is configured. Specify a profile name in the @profile_name parameter.


O sea, me sale un error, pero no lo puedo cachar de ninguna manera
Developer9 está desconectado   Responder Citando
Antiguo 18-jun-2007, 11:46   #2 (permalink)
Colaborador
Andres95 tiene algunos puntos positivos de karma
 
Avatar de Andres95
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.079
Re: Como detectar si hay error al enviar un e-mail desde un sp

Puedes "cachar" el error que te regresa el procedimiento que envia el mail.

De BOL...
Código:
Valores de código de retorno
0 (correcto) o 1 (error)
Código:
Declare @ErrorReturn int

Set @ErrorReturn = 0
EXEC @ErrorReturn = msdb.dbo.sp_send_dbmail 

Return @ErrorReturn
__________________
Yo no hablo de venganzas ni perdones, el olvido es la única venganza y el único perdón...
Andres95 está desconectado   Responder Citando
Antiguo 18-jun-2007, 13:20   #3 (permalink)
(Desactivado)
Developer9 Developer9
 
Avatar de Developer9
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.202
Enviar un mensaje por MSN a Developer9
Re: Como detectar si hay error al enviar un e-mail desde un sp

Gracias Andresillo...

En la ayuda ya había visto en la ayuda del technet lo de

Código:
Valores de código de retorno
0 (correcto) o 1 (error)
Pero no sabía como aplicarlo, estaba confundido con el último parámetro del procedimiento que es de tipo output

Gracias
Developer9 está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 19:34.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93