利用表觸發(fā)器發(fā)送郵件_第1頁
利用表觸發(fā)器發(fā)送郵件_第2頁
利用表觸發(fā)器發(fā)送郵件_第3頁
利用表觸發(fā)器發(fā)送郵件_第4頁
利用表觸發(fā)器發(fā)送郵件_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、怎樣配置SQL Server發(fā)送電子郵件 通常大家都知道:SQL Server與Microsoft Exchange Server集成性很好,關(guān)于這方面的配置,在SQL Server的聯(lián)機(jī)幫助里有詳細(xì)的說明,在此不再贅述。然而我們更關(guān)心的問題是:在沒有Exchange Server的情況下,如何配置SQL Server利用Internet 郵件服務(wù)器發(fā)送郵件? 筆者曾為這問題傷透了腦筋,搜遍了互聯(lián)網(wǎng)上的相關(guān)資料,發(fā)現(xiàn)僅有的幾篇資料中有的是一筆帶過,有的雖然介紹了操作步驟,可按照步驟一步一步操作下來,結(jié)果總是失敗。為此筆者反復(fù)實(shí)驗(yàn),終于找到一種簡(jiǎn)單有效的方法,不敢獨(dú)自享受,下面是詳細(xì)的配置步驟,

2、如果您在操作的過程中碰到什么問題,請(qǐng)留言。 測(cè)試環(huán)境: 1 Windows 2000 Server 2 SQL Server 2000+SP3 3 Microsoft Outlook (Office 2000) 準(zhǔn)備一個(gè)Internet郵件帳戶: 測(cè)試電子郵件帳戶:test 步驟一: 更改電子郵件配置 1 打開Microsoft Outlook 單擊“工具”菜單中的“選項(xiàng)”,然后單擊“郵件服務(wù)”選項(xiàng)卡。 2 單擊“重新配置郵件支持”。 3 選擇“用于企業(yè)或工作組”選項(xiàng) 4 重新啟動(dòng)Microsoft Outlook 步驟二: 添加配置文件 1 單擊“工具”菜單中的“服務(wù)”,然后單擊“添加”按鈕

3、。 2 選擇Internet 電子郵件,單擊“確定”。 3 下面的步驟是設(shè)置電子郵件帳號(hào),請(qǐng)參考Microsoft Outlook幫助文件,這里不再贅述。 4 利用配置好的電子郵件帳號(hào)收發(fā)郵件,確認(rèn)配置成功。 步驟三: 配置MSSQLSERVER服務(wù)采用郵件配置文件 1 重新啟動(dòng)MSSQLSERVER服務(wù)(必須的,否則MSSQLSERVER服務(wù)檢測(cè)不到上一步驟添加的配置文件) 2 打開企業(yè)管理器-展開服務(wù)器-支持服務(wù)-右擊郵件-點(diǎn)擊下拉框,你會(huì)發(fā)現(xiàn) Microsoft Outlook Internet Settings選項(xiàng),點(diǎn)擊測(cè)試.如果彈出表示成功的對(duì)話框,那恭喜你,已經(jīng) 大功告成了. 步驟

4、四:享受你的勞動(dòng)成果 1 打開SQL Server的查詢分析器 2 輸入下列SQL語句,執(zhí)行 exec master.xp_sendmail test,Hello,World! 3 好了,去你的郵箱收郵件去吧! 使用SQLServer2000 發(fā)送郵件詳細(xì)配置過程新一篇: 利用JOB和SQL郵件功能實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的定時(shí)備分/*提供兩種版本的OutLook郵件發(fā)送方式*/A:利用OutLook2003發(fā)送郵件-/*測(cè)試環(huán)境: windowx Xp OutLook: OutLook 2003/第一步驟:建配置文件開始-控制面版-郵件雙擊郵件-添加-配置文件名稱(SQLSendMailServer)添

5、加新電子郵件帳戶-選擇POP3(P)-用戶信息:姓名:zlp登錄信息:用戶名:zlp321001密碼:*服務(wù)器信息:(注意:每一個(gè)服務(wù)器信息配置均不一樣,參考此服務(wù)器配置幫助,比如新浪就不一樣)點(diǎn)擊其他設(shè)置-發(fā)送服務(wù)器-選中(我的發(fā)送服務(wù)器(SMTP)要求驗(yàn)證)-選擇登錄使用用戶名:zlp321001密碼:*選中記住密碼確定測(cè)試帳戶設(shè)置-成功-下一部-確定打開OutLook軟件,測(cè)試是否能正常接收郵件,一切OK,進(jìn)行下一步配置第二步驟:配置數(shù)據(jù)庫服務(wù)器采用郵件配置文件重新啟動(dòng)MSSQLSERVER 服務(wù)(配置成域用戶)開始-控制面版-管理工具-服務(wù)-選擇MSSQLSERVER服務(wù)-屬性-登錄-

6、流覽(我機(jī)器是用戶名:zlp,密碼Zlp登錄)選中該用戶名和輸入密碼SQLSERVERAGENT 更改如上面重新啟動(dòng)這兩個(gè)服務(wù)(OutLook配置好后,必須重啟,SQL郵件服務(wù)才會(huì)有效)第三步驟:數(shù)據(jù)庫驗(yàn)證是否成功企業(yè)管理器-展開服務(wù)器-展開支持服務(wù)-SQL郵件-屬性-發(fā)現(xiàn)SQLSendMailServer有這個(gè)配置文件名稱測(cè)試通過第四步驟:寫簡(jiǎn)單的發(fā)送郵件程序,測(cè)試exec master.xp_sendmail zlp321001, 測(cè)試來自數(shù)據(jù)庫發(fā)送的郵件測(cè)試均成功,可能有服務(wù)器延時(shí)問題,作者從均zlp321001收到了該郵件-B:利用OutLook2000發(fā)送郵件/*測(cè)試環(huán)境: wind

7、owx Xp OutLook: OutLook 2000/第一步:配置郵件打開OutLook-選擇用戶企業(yè)或工作組工具-選項(xiàng)-郵件服務(wù)-單擊重新配置郵件支持-“用于企業(yè)或工作組”第二步:配置配置文件名稱開始-控制面版-郵件-添加-手工配置信息服務(wù)-配置文件名稱(SQLSendMailServer)-添加-Internet 電子郵件-確定常規(guī):郵件帳戶: 126姓名: zlp單位: zehua服務(wù)器:服務(wù)器:(參考個(gè)網(wǎng)站郵件設(shè)置幫助手冊(cè))接收郵件服務(wù)器:帳戶號(hào): zlp321001密碼: *選中我的服務(wù)器要求身份驗(yàn)證下一步-下一步-完成第三步:添加個(gè)人文件夾(用于保存臨時(shí)文件 out2003 不

8、用設(shè)置)開始-控制面版-郵件-添加-個(gè)人文件夾-選擇(PST文件)第四步:測(cè)試是否可以正常發(fā)郵件第五步:啟動(dòng)SQL服務(wù)開始-控制面版-管理工具-服務(wù)-啟動(dòng)MSSQLSERVER服務(wù)和SQLSERVERAGENT(登錄用戶均采用域用戶名)第六步:測(cè)試數(shù)據(jù)庫配置文件企業(yè)管理器-展開服務(wù)器-展開支持服務(wù)-SQL郵件-屬性-發(fā)現(xiàn)SQLSendMailServer有這個(gè)配置文件名稱測(cè)試通過第七步:測(cè)試程序發(fā)送郵件exec master.xp_sendmail zlp321001, 測(cè)試來自數(shù)據(jù)庫發(fā)送的郵件測(cè)試結(jié)果,均從以四個(gè)郵箱收到來自zlp321001的郵件-簡(jiǎn)單應(yīng)用實(shí)例:(用戶注冊(cè)后,收到用戶注冊(cè)信

9、息郵件)-測(cè)試表CREATE TABLE users( ID INT IDENTITY(1,1), Name VARCHAR(50), Email VARCHAR(200) )GO-觸發(fā)器,CREATE TRIGGER TR_Users_I ON UsersFOR INSERTASDECLARE email varchar(200)SELECT email=Email FROM INSERTEDEXEC(EXEC Master.xp_sendmail +email+,注冊(cè)成功 )-插入測(cè)試數(shù)據(jù)我們可以在SQL中通過剛才的配置來收發(fā)郵件。在sql server 2000中,通過xp_snedma

10、il以及以xp_開頭的存儲(chǔ)過程來發(fā)送和管理郵件。數(shù)據(jù)郵件用的是在msdb庫sp開頭的一些存儲(chǔ)過程來收發(fā)和管理郵件。sp_send_dbmail發(fā)送電子郵件年,用法如下:sp_send_dbmail profile_name = profile_name , recipients = recipients ; .n , copy_recipients = copy_recipient ; .n , blind_copy_recipients = blind_copy_recipient ; .n , subject = subject , body = body , body_format =

11、body_format , importance = importance , sensitivity = sensitivity , file_attachments = attachment ; .n , query = query , execute_query_database = execute_query_database , attach_query_result_as_file = attach_query_result_as_file , query_attachment_filename = query_attachment_filename , query_result_

12、header = query_result_header , query_result_width = query_result_width , query_result_separator = query_result_separator , exclude_query_output = exclude_query_output , append_query_error = append_query_error , query_no_truncate = query_no_truncate , mailitem_id = mailitem_id OUTPUT sp_send_mail 返回值

13、1表示成功,0表示失敗sp_send_dbmail參數(shù)解釋 profile_name = profile_name發(fā)送郵件的配置文件的名稱。profile_name 的類型為 sysname,默認(rèn)值為 NULL。profile_name 必須是現(xiàn)有數(shù)據(jù)庫郵件配置文件的名稱。如果未指定 profile_name,則 sp_send_dbmail 使用當(dāng)前用戶的默認(rèn)專用配置文件。如果該用戶沒有默認(rèn)專用配置文件,sp_send_dbmail 會(huì)使用 msdb 數(shù)據(jù)庫的默認(rèn)公共配置文件。如果用戶沒有默認(rèn)的專用配置文件,而且數(shù)據(jù)庫也沒有默認(rèn)的公共配置文件,則必須指定 profile_name。 reci

14、pients = recipients要向其發(fā)送郵件的電子郵件地址列表,以分號(hào)分隔。收件人列表的類型為 varchar(max)。雖然此參數(shù)是可選參數(shù),但是必須至少指定 recipients、copy_recipients 或 blind_copy_recipients 中的一個(gè),否則 sp_send_dbmail 將返回錯(cuò)誤。 copy_recipients = copy_recipients要向其抄送郵件的電子郵件地址列表,以分號(hào)分隔。抄送件收件人列表的類型為 varchar(max)。雖然此參數(shù)是可選參數(shù),但是必須至少指定 recipients、copy_recipients 或 bli

15、nd_copy_recipients 中的一個(gè),否則 sp_send_dbmail 將返回錯(cuò)誤。 blind_copy_recipients = blind_copy_recipients要向其密件抄送郵件的電子郵件地址列表,以分號(hào)分隔。密件副本收件人列表的類型為 varchar(max)。雖然此參數(shù)是可選參數(shù),但是必須至少指定 recipients、copy_recipients 或 blind_copy_recipients 中的一個(gè),否則 sp_send_dbmail 將返回錯(cuò)誤。 subject = subject電子郵件的主題。主題的類型為 nvarchar(255)。如果未指定主題

16、,則默認(rèn)為 SQL Server Message。 body = body電子郵件的正文。郵件正文的類型為 nvarchar(max),默認(rèn)值為 NULL。 body_format = body_format郵件正文的格式。該參數(shù)的類型為 varchar(20),默認(rèn)值為 NULL。如果已指定,則待發(fā)郵件的標(biāo)頭設(shè)置會(huì)指示郵件正文具有指定格式。該參數(shù)可能包含下列值之一(默認(rèn)為 TEXT):TEXTHTML importance = importance郵件的重要性。該參數(shù)的類型為 varchar(6)。該參數(shù)可能包含下列值之一(默認(rèn)值為 Normal):LowNormalHigh sensiti

17、vity = sensitivity郵件的敏感度。該參數(shù)的類型為 varchar(12)。該參數(shù)可能包含下列值之一(默認(rèn)值為 Normal):NormalPersonalPrivateConfidential file_attachments = file_attachments, 電子郵件附件的文件名列表,以分號(hào)分隔。必須使用絕對(duì)路徑指定列表中的文件。附件列表的類型為 nvarchar(max)。 query = query要執(zhí)行的查詢。查詢結(jié)果可以作為文件附加,或包含在電子郵件的正文中。查詢的類型為 nvarchar(max),并且可以包含任何有效的 Transact-SQL。請(qǐng)注意,查詢

18、在單獨(dú)的會(huì)話中執(zhí)行,所以調(diào)用 sp_send_dbmail 的腳本中的局部變量不可用于查詢。(注意:發(fā)郵件的用戶必須有執(zhí)行query的權(quán)限) execute_query_database = execute_query_database存儲(chǔ)過程在其中運(yùn)行查詢的數(shù)據(jù)庫上下文。該參數(shù)的類型為 sysname,默認(rèn)為當(dāng)前數(shù)據(jù)庫。只有在指定 query 時(shí),此參數(shù)才適用。 attach_query_result_as_file = attach_query_result_as_file指定查詢結(jié)果集是否作為附件返回。attach_query_result_as_file 的數(shù)據(jù)類型為 bit,默認(rèn)值為

19、 0。如果該值為 0,查詢結(jié)果包含在電子郵件的正文中,在 body 參數(shù)的內(nèi)容之后。如果該值為 1,結(jié)果作為附件返回。只有在指定 query 時(shí),此參數(shù)才適用。 query_attachment_filename = query_attachment_filename指定查詢結(jié)果集附件使用的文件名。query_attachment_filename 的數(shù)據(jù)類型為 nvarchar(255),默認(rèn)值為 NULL。如果 attach_query_result 為 0,則忽略此參數(shù)。如果 attach_query_result 為 1 且此參數(shù)為 NULL,則數(shù)據(jù)庫郵件會(huì)創(chuàng)建任意文件名。 query

20、_result_header = query_result_header指定查詢結(jié)果是否包含列標(biāo)題。query_result_header 值的數(shù)據(jù)類型為 bit。如果該值為 1,則查詢結(jié)果包含列標(biāo)題。如果該值為 0,則查詢結(jié)果不包含列標(biāo)題。該參數(shù)的默認(rèn)值為 1。只有在指定 query 時(shí),此參數(shù)才適用。 query_result_width = query_result_width用于設(shè)置查詢結(jié)果的格式的線條寬度(字符)。query_result_width 的數(shù)據(jù)類型為 int,默認(rèn)值為 256。提供的值必須介于 10 到 32767 之間。只有在指定 query 時(shí),此參數(shù)才適用。 qu

21、ery_result_separator = query_result_separator用于分隔查詢輸出中的列的字符。分隔符的類型為 char(1)。默認(rèn)為 (空格)。 exclude_query_output = exclude_query_output指定是否使用電子郵件返回查詢執(zhí)行的輸出。exclude_query_output 的數(shù)據(jù)類型為 bit,默認(rèn)值為 0。當(dāng)此參數(shù)為 0 時(shí),sp_send_dbmail 存儲(chǔ)過程的執(zhí)行將在控制臺(tái)上打印作為查詢執(zhí)行結(jié)果而返回的消息。當(dāng)此參數(shù)為 1 時(shí),sp_send_dbmail 存儲(chǔ)過程的執(zhí)行不會(huì)在控制臺(tái)上打印任何查詢執(zhí)行消息。 append

22、_query_error = append_query_error指定是否在 query 參數(shù)中指定的查詢返回錯(cuò)誤時(shí)發(fā)送電子郵件。exclude_query_output 的數(shù)據(jù)類型為 bit,默認(rèn)值為 0。如果該參數(shù)的值為 1,數(shù)據(jù)庫郵件會(huì)發(fā)送電子郵件,并將查詢錯(cuò)誤消息包含在電子郵件的正文中。如果該參數(shù)的值為 0,數(shù)據(jù)庫郵件不發(fā)送電子郵件,sp_send_dbmail 在結(jié)束時(shí)會(huì)返回代碼 1,表示失敗。 query_no_truncate = query_no_truncate指定是否使用可避免截?cái)啻笮涂勺冮L度數(shù)據(jù)類型(varchar(max)、nvarchar(max)、varbinary

23、(max)、xml、text、ntext、image 以及用戶定義數(shù)據(jù)類型)的選項(xiàng)執(zhí)行查詢。設(shè)置該選項(xiàng)后,查詢結(jié)果將不包含列標(biāo)題。query_no_truncate 值的數(shù)據(jù)類型為 bit。當(dāng)該值為 0 或未指定時(shí),查詢中的列截?cái)酁?256 個(gè)字符。當(dāng)該此值為 1 時(shí),不截?cái)嗖樵冎械牧?。該參?shù)的默認(rèn)值為 0。注意: 與大量數(shù)據(jù)一起使用時(shí),query_no_truncate 選項(xiàng)會(huì)占用其他資源,并可降低服務(wù)器的性能。 mailitem_id = mailitem_id OUTPUT 可選輸出參數(shù)將返回消息的 mailitem_id。mailitem_id 的數(shù)據(jù)類型為 int。以sp開頭的一些與數(shù)據(jù)郵件相關(guān)的過程存儲(chǔ)在msdb數(shù)據(jù)庫中,msdb 數(shù)據(jù)庫中的 Datab

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論