将SQL Server查询导出本地excel(mail发送)
?
1.將數(shù)據(jù)庫(kù)中查詢的表格導(dǎo)出到指定的路徑,首先啟用.xp_cmdshell,上一篇隨筆有寫如何開啟.xp_cmdshell。
DECLARE @sql? NVARCHAR(4000)? ? --定義變量存儲(chǔ)格式
DECLARE @server? NVARCHAR(20) --定義變量存儲(chǔ)格式
set @server='localhost'? ? ? ?--賦值變量
DECLARE @filename1 NVARCHAR(max) --定義變量存儲(chǔ)格式
SET @filename1='D:\\GSFiles\\HRLeave\\MonthStat\\GSOT_WeekRep_'+CONVERT(NVARCHAR,GETDATE(),112)+'.xls'? ? ? --賦值變量路徑
SET @sql= 'bcp "SELECT adays,empid,empname,THour3,DeptID,DeptName FROM GSeServiceDB.dbo.GSOT_Alarm_Day002_TOTAL" queryout '+@filename1+' -c -w -S '+@server+' -T '? ? ?--使用bcp? queryout??SQL語(yǔ)句導(dǎo)出數(shù)據(jù)庫(kù)表存儲(chǔ)到本地
EXEC master..xp_cmdshell @sql --執(zhí)行@sql 的bcp命令
2.將存儲(chǔ)本地的excel用郵件方式發(fā)送
EXEC msdb.dbo.sp_send_dbmail
@profile_name='MIS_EBIZ',
@recipients='郵件地址',
@copy_recipients='',
@blind_copy_recipients='',
@subject='',
@body='',
@body_format='HTML',? ? --傳送格式語(yǔ)言
@file_attachments =@filename1;? --帶入賦值變量存儲(chǔ)的路徑文件(附件)
?
注:SELECT @MailTo=COALESCE(@MailTo + ';' , '') + Email FROM account_Users WHERE EmpID in (select empid from GSOT_Group_Adm) AND IsLeave='N' AND Email!='' AND Email!='*******'? ? ?--使用COALESCE函數(shù)將查詢到的郵件地址以分號(hào)(;)隔開合并
?
轉(zhuǎn)載于:https://www.cnblogs.com/popo1/p/10683550.html
總結(jié)
以上是生活随笔為你收集整理的将SQL Server查询导出本地excel(mail发送)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Jenkins+ant+Jenkins接
- 下一篇: prometheus + influxd