日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]項(xiàng)目需求:每日凌晨3點(diǎn)前總結(jié)昨天的某項(xiàng)數(shù)據(jù),自動(dòng)發(fā)送郵件到指定的郵箱。實(shí)現(xiàn)方法(大致流程):1、數(shù)據(jù)總結(jié)使用MsSql的存儲(chǔ)過(guò)程來(lái)實(shí)現(xiàn),結(jié)合MsSql的自動(dòng)代理作業(yè),定時(shí)凌晨導(dǎo)出數(shù)據(jù)到某個(gè)目錄。2、w

項(xiàng)目需求:

每日凌晨3點(diǎn)前總結(jié)昨天的某項(xiàng)數(shù)據(jù),自動(dòng)發(fā)送郵件到指定的郵箱。

實(shí)現(xiàn)方法(大致流程):

1、數(shù)據(jù)總結(jié)使用MsSql的存儲(chǔ)過(guò)程來(lái)實(shí)現(xiàn),結(jié)合MsSql的自動(dòng)代理作業(yè),定時(shí)凌晨導(dǎo)出數(shù)據(jù)到某個(gè)目錄。

2、windows服務(wù)定時(shí)查詢(xún)導(dǎo)出的目錄里是否有新文件,有新文件則執(zhí)行發(fā)送郵件流程。


代碼:

1、Windows服務(wù)上報(bào)數(shù)據(jù)的代碼(定時(shí)器要用System.Timers.Timer,發(fā)送郵件的類(lèi)請(qǐng)自行百度):

using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Diagnostics;
using?System.Linq;
using?System.ServiceProcess;
using?System.Text;
using?System.IO;
namespace?SendEmail
{
????public?partial?class?AutoSendEmail?:?ServiceBase
????{
????????public?AutoSendEmail()
????????{
????????????InitializeComponent();
????????????base.AutoLog?=?true;?//?記錄windows事件日志
????????????base.ServiceName?=?"自動(dòng)發(fā)送郵件";
????????}

????????protected?override?void?OnStart(string[]?args)
????????{
????????????timer1.Start();
????????????base.EventLog.WriteEntry("服務(wù)器已啟動(dòng)",?EventLogEntryType.Information);
????????}

????????protected?override?void?OnStop()
????????{
????????????timer1.Stop();
????????????base.EventLog.WriteEntry("服務(wù)器已停止",?EventLogEntryType.Information);
????????}

????????private?void?timer1_Elapsed(object?sender,?System.Timers.ElapsedEventArgs?e)
????????{
????????????Mail?mail?=?new?Mail();
????????????mail.Logs(DateTime.Now.ToString()?+?"定時(shí)器已激活");
????????????string?file?=?"H:\Web\Data\"?+?DateTime.Now.ToString("yyyy-MM-dd")+".txt";
????????????string?fileModel?=?@"導(dǎo)入代金券(新版)
帶*號(hào)的為必填項(xiàng)
開(kāi)始日期:格式要求:YYYY-MM-DD,需要在方案的開(kāi)始和結(jié)束日期之間;
結(jié)束日期:格式要求:YYYY-MM-DD,需要在方案的開(kāi)始和結(jié)束日期之間;
							
/********/";
????????????if?(File.Exists(file))
????????????{
????????????????File.WriteAllText(file,?fileModel?+?Environment.NewLine?+?File.ReadAllText(file,?Encoding.GetEncoding("GB2312")),?Encoding.GetEncoding("GB2312"));????????????????
????????????????
????????????????mail.AddTo("1111111@qq.com");?//?收件人
????????????????mail.AddCC("2222222@qq.com");?//?抄送人
????????????????mail.Subject?=?"信息自動(dòng)上報(bào)";
????????????????mail.Content?=?"信息自動(dòng)上報(bào),數(shù)據(jù)詳情請(qǐng)查看附件。";
????????????????mail.AddAttchment(file);?//?附件
????????????????mail.Send();
????????????????mail.Logs(DateTime.Now.ToString()?+?"定時(shí)器已執(zhí)行完發(fā)送流程");
????????????????FileInfo?f?=?new?FileInfo(file);
????????????????f.MoveTo("H:\Web\Data\"?+?f.Name?+?"_send"?+?f.Extension);??//發(fā)送成功后把記錄文件改名字,防止多次重復(fù)發(fā)送(方法之一)
????????????}
????????????else
????????????{
????????????????mail.Logs(DateTime.Now.ToString()?+?"沒(méi)有檢測(cè)到需要發(fā)送郵件的數(shù)據(jù)");
????????????}
????????}
????}
}


2、MsSql定時(shí)導(dǎo)出的存儲(chǔ)過(guò)程

ALTER?PROCEDURE?[dbo].[ExportToExcel]
	?
AS
BEGIN
	?
	SET?NOCOUNT?ON;
	EXEC?sp_configure?'show?advanced?options',1
	reconfigure
	EXEC?sp_configure?'xp_cmdshell',1
	reconfigure
	DECLARE?@D?VARCHAR(2000)
	SET?@D='bcp?"select?''序列號(hào)(*)'',''密碼(*)'',''券面金額(*)'',''開(kāi)始日期(*)'',''結(jié)束日期(*)''?UNION?ALL?select?[CardNum],[CardPwd],CONVERT(VARCHAR(2),[CardPrice])?AS?''CardPrice'',CONVERT(varchar(100),[CardStartDay],23)?AS?''CardStartDay'',CONVERT(varchar(100),[CardEndDay],23)?AS?''CardEndDay''?from?SMS..CardInfo?where?CardIsActive=1?AND?CardActiveDate?BETWEEN?CONVERT(varchar(100),GETDATE()-1,23)+''?00:00:00''?AND?CONVERT(varchar(100),GETDATE()-1,23)+''?23:59:59''"?queryout?H://Web//Data//'+CONVERT(varchar(100),?GETDATE(),?23)+'.txt??-t?","??-c?-U登錄名?-P登錄密碼'

	exec?master..xp_cmdshell?@D;
?????
	EXEC?sp_configure?'show?advanced?options',1
	reconfigure
	EXEC?sp_configure?'xp_cmdshell',0--完成后記得關(guān)閉'xp_cmdshell'
	reconfigure
END


3、在MsSql的SQL?Server代理中新建一個(gè)定時(shí)作業(yè),定時(shí)執(zhí)行這個(gè)存儲(chǔ)過(guò)程。


??

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉