Hola Foro. En esta oportunidad les quiero consultar sobre un problemita que 
estoy teniendo en SQLServer2000.
 
Después de unos días dando vueltas porque no me funcionaba un SP para envío de 
mails automático utilizando SQLMail (xp_sendmail) encontré que el problema se 
resolvía con el ServicePack4 asi que lo instale y salio funcionando. (El 
problema me lo daba ya que la consulta era sobre un servidor vinculado).
 
Asi que cree un DTS con un objeto Conexion y un objeto EjecuciónSQL
 
En el Objeto Ejecución SQL le puse:
-----------------------------------------------------
DECLARE @Para as varchar (4000)
DECLARE @CC as varchar (4000)
DECLARE @NomArch as varchar(100)
DECLARE @TxtSubj as varchar (100)
DECLARE @TxtMens as varchar (450)

select @Para = '[EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL 
PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL 
PROTECTED]; [EMAIL PROTECTED]'

select @CC = '[EMAIL PROTECTED]; [EMAIL PROTECTED]'

select @NomArch = 'Informe_parcial_ADECIR_Cumplidos_al_' + cast 
(DATEPART(yyyy,getdate()) as varchar(4)) + '-' + right ('0' + cast 
(DATEPART(mm,getdate())as varchar(2)),2) + '-' + right ( '0' + cast 
(DATEPART(dd, getdate())as varchar(2)),2) + '_' + right ( '0' + cast 
(DATEPART(hh, getdate())as varchar(2)),2) + '.' + right ( '0' + cast 
(DATEPART(mi, getdate())as varchar(2)),2) + '.' + right ( '0' + cast 
(DATEPART(ss, getdate())as varchar(2)),2) + '.txt'

select @TxtSubj = 'Informe parcial de Cumplimientos de ADECIR al ' + cast 
(DATEPART(yyyy,getdate()) as varchar(4)) + '-' + right ('0' + cast 
(DATEPART(mm,getdate())as varchar(2)),2) + '-' + right ( '0' + cast 
(DATEPART(dd, getdate())as varchar(2)),2) + ' ' + right ( '0' + cast 
(DATEPART(hh, getdate())as varchar(2)),2) + ':' + right ( '0' + cast 
(DATEPART(mi, getdate())as varchar(2)),2) + ':' + right ( '0' + cast 
(DATEPART(ss, getdate())as varchar(2)),2)

select @TxtMens = 'Se envia adjunto el informe mencionado en el asunto.' + 
char(13) + char (13) +
'Mensaje enviado automáticamente por SIR (Sistema Integrador de Red) - Por 
favor no responda este E-Mail.' + char (13) +
'Si ya no desea recibir estos E-Mail contáctese con el Administrador al 
4333-7645/46 o solicítelo por correo a:' + char(13) + 
'[EMAIL PROTECTED] / [EMAIL PROTECTED]' + char (13) +
'http://wsir'
 

EXEC master.dbo.xp_sendmail 
@recipients = @Para,
@copy_recipients = @CC,
@query = 'EXEC SIR..ALTA_ENLACES_INFORME_DIARIO_CUMPLIMIENTOS',
@subject = @TxtSubj, 
@message = @TxtMens,
@attachments = @NomArch, 
@attach_results = 'TRUE',
@width = 500,
@separator = ' '


El SP que le paso al parametro @query se compone de:

--------------------------------------------------------------------------------

CREATE PROCEDURE [DBO].[ALTA_ENLACES_INFORME_DIARIO_CUMPLIMIENTOS] AS

SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
SELECT RTRIM(CAST(ANOADECIR AS VARCHAR(4))) + '-ADECIR-' + RIGHT( '0000' + 
RTRIM(CAST(NUMADECIR AS VARCHAR(4))),4) AS ADECIR, 
RTRIM(CAST(NUMPLANCO AS VARCHAR(7))) AS PLANCO,
left(RTRIM(CAST(NUMNEGOCIO AS VARCHAR(100))),50) AS NEGOCIO,
CAST (FCUMPLIDO AS DATETIME) AS FECHA_CUMPLIDO,
left(RTRIM(CAST(NOMCUMPLIDO AS VARCHAR(30))),20) AS RESPONSABLE,
LTRIM(CAST(NOMENLACE AS VARCHAR(200))) AS DESCRIPCION
FROM ACCESS_ALTA_ENLACES...[TABLA CABECERA] ---(ACCESS_ALTA_ENLACES es un 
servidor vinculado)
WHERE FCUMPLIDO > cast (DATEPART(yyyy,getdate()) as varchar(4)) + right ('0' + 
cast (DATEPART(mm,getdate())as varchar(2)),2) + right ( '0' + cast 
(DATEPART(dd, getdate())as varchar(2)),2)
AND FCUMPLIDO < cast (DATEPART(yyyy,dateadd (day,1,getdate())) as varchar(4)) + 
right ('0' + cast (DATEPART(mm,dateadd (day,1,getdate()))as varchar(2)),2) + 
right ( '0' + cast (DATEPART(dd, dateadd (day,1,getdate()))as varchar(2)),2)
ORDER BY RTRIM(CAST(ANOADECIR AS VARCHAR(4))) + '-ADECIR-' + RIGHT( '0000' + 
RTRIM(CAST(NUMADECIR AS VARCHAR(4))),4)

GO

-------------------------------------


Hasta aca todo bien, si ejecuto el SQL del DTS en el Analizador de Consultas o 
lo ejecuto a mano aparece la barra de progreso y al cabo de unos 7/8 segundos 
envia el correo a todos los destinatarios con adjunto y todo o sea OK.

El tema es que cuando lo programo en una tarea para que se ejecute el DTS todos 
los dias a las 23:00hs no envia el correo. Es mas cuando cuando veo el 
historial del trabajo dice que se ejecuto OK pero el correo no le llega a 
ningun destinatario, es mas el historial del trabajo dice que tardo 1 o 2 
segundos cosa que me hace sospechar porque si lo corro a mano tarda 7 u 8 
segundos en enviarlo. Se les ocurre que puede ser? o como puedo solucionarlo?


Muchas gracias.



Diego Hernán Pascuzzi
Jefatura Administración de Red y Solicitudes ( TX, F.O. y TP )
Gerencia Supervisión y Gestión de Red
Telefónica de Argentina S.A.
Av. Corrientes 707 - Piso 13° - (C1043AAH) - Bs.As. - Argentina
Tel.: 54-011-4333-7645
Fax: 54-011-4303-5586 Interno: 1011
[EMAIL PROTECTED]
http://wsir


Responder a