--exec P_TYAN_SERVICE_SITE_CHECK
แก้ไขขั้นตอน [dbo].[P_TYAN_SERVICE_SITE_CHECK]
เช่น
ประกาศ
@นับอินท์
@อ็อบเจกต์ อินท์
@hr อินท์,
@rc อินท์
@เอาท์พุทวาร์ชาร์ (400)
@ คำอธิบาย varchar (400)
@source varchar (400)
@sender วาร์ชาร์ (50)
@ชื่อผู้ส่ง varchar(50)
@serveraddress วาร์ชาร์ (255)
@ผู้รับ varchar(255)
@ชื่อผู้รับ varchar(255)
@หัวเรื่อง varchar(255)
@mailbody varchar(8000)
--เริ่มต้นอีเมลอัตโนมัติ
เลือก @count= count(*) จาก [dbo].[TYAN_SERVICE_SITE] โดยที่พื้นที่ไม่เป็นโมฆะและ cust_name ไม่เป็นโมฆะและ ship_location ไม่เป็นโมฆะและประเทศไม่เป็นโมฆะและ cust_no ไม่เป็นโมฆะและ (CUST_TYPE เป็นโมฆะหรือ SERVICE_SITE เป็นโมฆะ )
ถ้า(@นับ!=0)
เริ่ม
ตั้งค่า @sender='ออโต้เมล์'
ตั้งค่า @sendername='AutoMail'
ตั้งค่า @serveraddress='10.98.0.211'
--นี่คือที่อยู่ของผู้รับ ดูเหมือนว่าตัวแปรนี้จะไม่มีประโยชน์ ดังนั้นให้เพิ่มเข้าไปที่ส่วนท้ายโดยตรง เพียงดูด้านล่าง-------
ตั้งค่า @ผู้รับ =''
--ชื่อ----------------
ตั้งค่า @subject='Mail'
-------นี่คือข้อมูลที่คุณต้องการแสดงเริ่มต้น-----------
ตั้งค่า @mailbody=N'<html><head>
</หัว><ร่างกาย>
<p style="margin-bottom:12.0pt"><font size=1 face=Arial><span
lang=EN-US style="font-size:9.0pt;font-family:Arial">เรียนท่าน:<o:p></o:p></span></font></p>
<p style="margin-bottom:12.0pt"><font size=1 face=Arial><span
lang=EN-US style="font-size:9.0pt;font-family:Arial">โปรดรักษา Tyan ใหม่เหล่านี้ไว้
ไซต์บริการ:<o:p></o:p></span></font></p>
<table style="font-family:trebuchet ms;font-size: 10pt; border-collapse:collapse" cellpadding="2" bordercolor="black" border=1>
<tr bgcolor=สีส้ม align=center>
<td >พื้นที่</td>
<td >ประเทศ</td>
<td >ไม่ต้องทำ</td>
<td >ชื่อที่กำหนดเอง</td>
</tr>'
--<td align=left>ชื่อแผนก</td>
ประกาศ
@str วาร์ชาร์(8000)
@AREA nvarchar (50)
@COUNTRY วาร์ชาร์(50)
@CUST_NO วาร์ชาร์(50)
@CUST_NAME วาร์ชาร์(50)
@vcount int
เริ่ม
ตั้ง @vcount=1
ตั้ง @str=''
ประกาศเคอร์เซอร์ c_at
สำหรับ
เลือกพื้นที่ที่แตกต่างกัน,ประเทศ,cust_no,cust_name จาก [dbo].[TYAN_SERVICE_SITE] โดยที่พื้นที่ไม่เป็นโมฆะและ cust_name ไม่เป็นโมฆะและตำแหน่งเรือไม่เป็นโมฆะและประเทศไม่เป็นโมฆะและ cust_no ไม่เป็นโมฆะและ (CUST_TYPE เป็นโมฆะหรือ SERVICE_SITE เป็น โมฆะ )
เปิด c_at
ดึงข้อมูลถัดไปจาก c_at เข้าสู่ @AREA,@COUNTRY,@CUST_NO,@CUST_NAME
ในขณะที่ (@@FETCH_STATUS = 0)
เริ่ม
ตั้งค่า @str=@str+'<tr align=center>'
ตั้ง @str=@str+'<td >'+@AREA+'</td>'
ตั้ง @str=@str+'<td >'+@COUNTRY+'</td>'
ตั้งค่า @str=@str+'<td >'+@CUST_NO+'</td>'
ตั้งค่า @str=@str+'<td >'+@CUST_NAME+'</td>'
ตั้ง @vcount=@vcount+1
ดึงข้อมูลถัดไปจาก c_at เข้าสู่ @AREA,@COUNTRY,@CUST_NO,@CUST_NAME
จบ
-------นี่คือข้อมูลที่คุณต้องการแสดงสิ้นสุด-----------
ปิด c_at
ยกเลิกการจัดสรร c_at
จบ
ตั้งค่า @mailbody = @mailbody+@str+'</table></body></html>'
Exec @hr = sp_OACreate 'jmail.message', @object เอาต์พุต
Exec @hr = sp_OASetProperty @object, 'ชุดอักขระ', 'BIG5'
--@recipient --ที่อยู่อีเมลของผู้รับของคุณ ------------------------------- ----- ---------------
Exec @hr = sp_OAMethod @object, 'AddRecipient', NULL, 'ที่อยู่อีเมลของคุณ'
--Exec @hr = sp_OAMethod @object, 'AddRecipientBCC', NULL, 'ที่อยู่อีเมลของคุณ'
Exec @hr = sp_OASetProperty @object, 'หัวเรื่อง',@หัวเรื่อง
Exec @hr = sp_OAsetProperty @object, 'HTMLBody' ,@mailbody
Exec @hr = sp_OAsetProperty @object, 'ลำดับความสำคัญ', 1
หากไม่ใช่ @sender จะเป็นโมฆะ
Exec @hr = sp_OASetProperty @object, 'จาก', @sender
หากไม่ใช่ @sendername จะเป็นโมฆะ
Exec @hr = sp_OASetProperty @object, 'FromName', @sendername
--เริ่มต้นอีเมลอัตโนมัติ
Exec @hr = sp_OAMethod @object, 'ส่ง', null,@serveraddress
Exec @hr = sp_OAGetErrorInfo @object, @source เอาท์พุต, @description เอาท์พุต
ถ้า (@ชม = 0)
เริ่ม
ตั้งค่า @output='ข้อผิดพลาดแหล่งที่มา: '+@source
พิมพ์@เอาท์พุท
เลือก @output = 'คำอธิบายข้อผิดพลาด: ' + @description
พิมพ์@เอาท์พุท
จบ
อื่น
เริ่ม
พิมพ์ 'ไม่สามารถรับข้อมูลข้อผิดพลาด! -
กลับ
จบ
--Release วัตถุ JMail.Message
EXEC @hr = sp_OADestroy @object
--IF @hr <> 0
--เริ่ม
-- EXEC sp_OAGetErrorInfo @วัตถุ
-- กลับ
--จบ
จบ
ขั้นตอนการจัดเก็บข้างต้นเสร็จสมบูรณ์
สิ่งที่แนบมาด้วยกำลังเปิดขั้นตอนการทำงานอัตโนมัติของ Ole
---เปิดขั้นตอนการทำงานอัตโนมัติของ Ole----
sp_configure 'แสดงตัวเลือกขั้นสูง', 1;
ไป
กำหนดค่าใหม่;
ไป
sp_configure 'ขั้นตอนการทำงานอัตโนมัติของ Ole', 1;
ไป
กำหนดค่าใหม่;
ไป
คุณสามารถใช้งานได้หลังจากทำการแก้ไขเล็กน้อยตามข้อมูลของคุณเอง โดยทั่วไปแล้ว การส่งอีเมลจะใช้ร่วมกับงานตัวแทนเซิร์ฟเวอร์ sql เพื่อส่งอีเมลเป็นประจำ
บทความนี้มาจากบล็อก CSDN โปรดระบุแหล่งที่มาเมื่อพิมพ์ซ้ำ: http://blog.csdn.net/liaolian9948/archive/2009/12/31/5110313.aspx
-