DECLARE @SendMailError varchar(80)='Send Mail SPMP Report Error'
DECLARE @sql varchar(8000)
DECLARE @Filepath varchar(800)
begin try
set @Filepath= 'E:\SPMP_REPORT\SPMP Report from CSMC '+convert(varchar(12), getdate(), 112) + left(Replace(Convert(varchar(6),Getdate(),108),':','') ,2)+'00.xls'
set @sql='bcp "select *from MBU_Report.dbo.spmp_report " queryout "'+@Filepath+'" -c -S"CDS6" -U"PAL" -P"PALSPN"'
EXEC master..xp_cmdshell @sql
DECLARE @subject varchar(800)
set @subject= 'SPMP Report from CSMC '+convert(varchar(12), getdate(), 112) + left(Replace(Convert(varchar(6),Getdate(),108),':','') ,2)+'00'
EXEC msdb.dbo.sp_send_dbmail
@profile_name='MyProfile',
@recipients='',
@blind_copy_recipients='',
@importance= 'Normal',
@subject=@subject,
@file_attachments = @Filepath,
@body= ''
end try
begin catch
EXEC msdb.dbo.sp_send_dbmail
@profile_name='MyProfile',
@recipients='',
@blind_copy_recipients='',
@importance= 'Normal',
@subject=@SendMailError,
--@file_attachments = @Filepath,
@body= 'SP:SPMP Report from CSMC'
end catch
truncate table spmp_report
-- Delete File只保留两个文档 cast(left(Replace(Convert(varchar(6),Getdate(),108),':','') ,2)-2
DECLARE @DelFilepath varchar(800)
DECLARE @result int
set @DelFilepath= 'E:\SPMP_REPORT\SPMP Report from CSMC '+convert(varchar(12), getdate(), 112) + cast(left(Replace(Convert(varchar(6),Getdate(),108),':','') ,2)-2 as varchar(20))+'00.xls'
exec master.dbo.xp_fileexist @DelFilepath,@result out --路径可以有空格
if @result =1 --1存在该文件,0不存在
begin
set @DelFilepath = 'del ' + replace(@DelFilepath,' ','" "')
exec master.dbo.xp_cmdshell @DelFilepath
end