/*

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

生产库自动派送报表派送失败之重新派送相关推荐

  1. U8 销售订单对应的生产订单缴库情况执行报表

    文章目录 前言 一.功能 二.脚本 总结 前言 本文主是帮助一位有该需求的网友写的,感觉有点实用价值,便分享出来(含sql脚本) 一.功能 U8系统中销售订单对应的生产订单缴库情况执行报表,执行结果如 ...

  2. 奕新集团RAC 11g 生产库环境(待完善无图)

    奕新集团RAC 11g 生产库环境(待完善无图) 1.硬件规划: CPU     8个 内存 8G 网卡 2张 硬盘 1个90G机内盘 8个存储盘 分区:boot 200M swap 8G LVM / ...

  3. oracle归档日志的生产,记一次Oracle生产库还原归档日志经历

    同事电话说急着要恢复生产库上的归档日志.系统环境是10.2.0.5,RAC,归档日志在node1上建立了nfs共享,而node2上没有建立nfs共享 中午刚去吃饭,就接到同事电话说急着要恢复生产库上的 ...

  4. birt使用quartz框架实现自动生成报表

    经过两天的学习,终于通过quartz框架将birt的自动生成报表功能实现了,下面将代码粘贴上来,仅供参考. 1.GenReportAutoDs类,用来生成报表.其中资源库文件位于工程根目录下的libr ...

  5. 正式生产库,配置双节点的RAC + 单实例的 DATAGUARD

    正式生产库,配置DATAGUARD RAC+单实例DATAGUARD  配置 RAC 两节点: 192.1.0.101    rac1     192.1.0.102    rac2 存储:ASM D ...

  6. 自动安装第三方库python,python第三方库自动安装脚本

    #python第三方库自动安装脚本,需要在cmd中运行此脚本 #BatchInstall.py import os libs = {"numpy","matplotlib ...

  7. 工业企业能耗监测系统 自动生成报表

    能源现状 目前,很多企业单位具有工业监控系统,可以监视运行状态.但是没有能源管控系统,不能对能源消耗进行监视与分析.这就造成在生产安排方面缺乏数据支撑,无法对整个厂区的生产进行有效的安排.调度,不能提 ...

  8. 【python自动化】02. pywin32库自动操作键鼠(保姆级代码注释)

    目录 源码和工具下载 大漠综合工具->坐标和窗口信息抓取 在你的桌面上新建一个记事本用于后面的代码测试 完整项目源码 实现思路 介绍win32的基础思路 基本步骤 API介绍 代码实战 1. 获 ...

  9. sqlserver 通过触发器 自动生成报表 数据表 每小时自动生成报表

    这段时间做一个项目,想着不改程序的情况下,实现库里一些报表的自动创建功能. 就有了以下思路 Create TRIGGER TRIGGER_AUTOCREATEREPORTon [sensor]afte ...

最新文章

  1. nginx虚拟目录配置
  2. Jmeter调试工具---Debug Sampler
  3. 话里话外:简单看流程
  4. python中一共有多少个关键字-Python中关键字有多少个?
  5. dom定义了访问html文档对象的,HTML DOM (文档对象模型)
  6. 浏览器的内核及版本的判断
  7. html 文件上传框 input标签
  8. slot传函数 vue_面试必备 Vue 知识点
  9. js基本函数和基本方法
  10. maven 整体打包_Maven打包方式整理
  11. Linux下的高级文件权限ACL
  12. 修改java阻塞数,加快他的运行速度
  13. 『杭电1891』Tough Water Level
  14. 【目标一】2019年9月15日 - 2019年9月22日晚 --- 周计划
  15. ObjectARX开发笔记(一)——分别使用AcEdInputPointFilter和AcEdInputPointMonitor实现光标提示功能
  16. SpringMVC实现i18n和主题切换
  17. tdd干扰波形_TDD-LTE上行干扰定位方法及排查指导手册.doc
  18. 网络持续演进不仅是技术活儿,还是一个“哲学问题”
  19. 星淘惠:沙特阿拉伯或将成为亚马逊跨境卖家新蓝海市场
  20. AdaBoost算法搭建信用卡精准营销模型

热门文章

  1. 231. 2的幂 golang
  2. VMware的屏幕太小
  3. 数据库原理及应用【二】数据模型
  4. 基于Linux的SOCKET编程之TCP半双工Client-Server聊天程序
  5. 剑指Offer05. 替换空格
  6. $PATH环境变量的作用
  7. 1078 字符串压缩与解压 (20 分)
  8. 线程共享全局变量(.data和.bbs)
  9. 疯狂涨知识!Java多态实现原理技术总监都拍手叫好
  10. oracle迁移到greenplum的方案