日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

生产库自动派送报表派送失败之重新派送

發布時間:2023/11/29 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 生产库自动派送报表派送失败之重新派送 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

/*

Description: 生產庫自動派送報表派送失敗之重新派送???

*/

?

USE [DB]????? --Replace yourDB

GO

?

DECLARE ?? @ProductDate????? nvarchar(10) = N'2014-01-01'

DECLARE?????? @FactoryCode????? nvarchar(10) = N'X'

?

DECLARE @strSQL????????? nvarchar(3000)

DECLARE @strCRLF???? nvarchar(2)

DECLARE @strCmdShell nvarchar(255)

?

DECLARE @pFactoryName??? nvarchar(50)

DECLARE @pSubjectText??? nvarchar(255)

DECLARE @pBodyText?????? nvarchar(max)

DECLARE??? @pRecipients? nvarchar(max)

DECLARE @Attachments nvarchar(max)

?

DECLARE @RetVal????????? int

?

DECLARE @is_master_dw??? int

DECLARE @SQLMailProfile? nvarchar(255)

?

DECLARE @template_path????? nvarchar(255)

DECLARE @template_name????? nvarchar(255)

DECLARE @report_target_name nvarchar(255)

DECLARE @report_full_path?? nvarchar(255)

?

SET NOCOUNT ON;

?

SET @strCRLF = NCHAR(13) + NCHAR(10)

?

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

PRINT @strCRLF + N'********** 產生DB 生產日報表並自動發送**********'

?

--預設是當天的日報表

IF @ProductDate = N'' SET @ProductDate = LEFT(CONVERT(nvarchar(20), GETDATE(), 120), 10)

--IF@ProductDate = N'' SET @ProductDate = LEFT(CONVERT(nvarchar(20), DATEADD(DD,-1, GETDATE()), 120), 10)

?

--未指定工廠代碼就是全部

IF @FactoryCode = N'' SET @FactoryCode = NULL

?

/* 讀取系統參數*/

SET @is_master_dw = CAST(dbo.fn_GetParameter(N'@is_master_dw') AS int)

SET @SQLMailProfile? = CAST(dbo.fn_GetParameter(N'@sqlmail_profile') AS nvarchar)

???

SET @template_path?? = CAST(dbo.fn_GetParameter(N'@template_path') AS nvarchar)

SET @template_name?? = CAST(dbo.fn_GetParameter(N'@template_name') AS nvarchar)

SET @report_target_name? = CAST(dbo.fn_GetParameter(N'@report_target_name')AS nvarchar)

?

SET @report_full_path = @template_path + N'\' + @report_target_name

?

???

--以下是自動派送EMAIL 給各收件人

--SET@pRecipients = dbo.fn_GetRecipients()

SET @pRecipients = dbo.fn_GetRecipientsByCode(N'DailyReport')

SET @pRecipients += ';mail@163.com'????????????????? --Replaceyour mail address....

?

IF @is_master_dw = 1

??? SET @pSubjectText= N'<<<XXXXXXXX日報表自動派送>>> 生產日期:' + @ProductDate

ELSE

BEGIN

??? /* 只處理一個廠,取得加工廠名稱*/

??? SELECT TOP1 @pFactoryName =FactoryName FROMdbo.T_factory WHERE IsActive = 1

??? SET @pSubjectText= N'<<<'+ @pFactoryName+ N'生產狀況日報表自動派送>>> 生產日期:' +@ProductDate

END

?

?

SET @pBodyText? = N'Dear All' + @strCRLF+ @strCRLF

?

SET @pBodyText += N'附件為' +@ProductDate + N' 的生產狀況日報表,請參閱。' + @strCRLF

IF @is_master_dw =1 SET @pBodyText+= N'如需其他生產數據查詢,請進本公司XXXX 系統查詢,網址為http://XXXX.COM.CN' +@strCRLF + @strCRLF

SET @pBodyText += @strCRLF

?

--SET@Attachments = N'D:\DB\DBDailyReport.xls'

SET @Attachments = @report_full_path

?

PRINT @pRecipients

PRINT @pBodyText

PRINT @pSubjectText

PRINT @Attachments

?

EXEC msdb.dbo.sp_send_dbmail

??? @profile_name =@SQLMailProfile,

??? @recipients = @pRecipients,

??? @body =@pBodyText,

??? @subject =@pSubjectText,

??? @file_p_w_uploads = @Attachments

?

/*

?* 查詢郵件失敗之項目

USE msdb

GO

SELECT * FROMsysmail_account

SELECT * FROMsysmail_allitems ORDER BY mailitem_id DESC??? --sent_status

*/


轉載于:https://blog.51cto.com/kinwar/1548847

總結

以上是生活随笔為你收集整理的生产库自动派送报表派送失败之重新派送的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。