--exec P_TYAN_SERVICE_SITE_CHECK
ALTER-Prozedur [dbo].[P_TYAN_SERVICE_SITE_CHECK]
Als
Erklären
@count int,
@object int,
@hr int,
@rc int,
@output varchar(400),
@description varchar (400),
@source varchar(400),
@sender varchar(50),
@sendername varchar(50),
@serveraddress varchar(255),
@recipient varchar(255),
@recipientName varchar(255),
@subject varchar(255),
@mailbody varchar(8000)
--Automatischer E-Mail-Start
Wählen Sie @count= count(*) aus [dbo].[TYAN_SERVICE_SITE] aus, wobei Bereich nicht null ist und cust_name nicht null ist und Ship_location nicht null ist und Land nicht null ist und cust_no nicht null ist und (CUST_TYPE null ist oder SERVICE_SITE null ist )
if(@count!=0)
beginnen
Setze @sender='AutoMail'
Setze @sendername='AutoMail'
Setzen Sie @serveraddress='10.98.0.211'
--Hier ist die Empfängeradresse. Diese Variable scheint nutzlos zu sein. Fügen Sie sie daher direkt am Ende hinzu. Schauen Sie einfach unten nach -------
Setze @recipient =''
--Titel----------------
Setze @subject='Mail'
-------Hier sind die Daten, die Sie anzeigen möchtenBegin---------------------
Setzen Sie @mailbody=N'<html><head>
</head><body>
<p style="margin-bottom:12.0pt"><font size=1 face=Arial><span
lang=EN-US style="font-size:9.0pt;font-family:Arial">Sehr geehrter Herr:<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">Bitte behalten Sie diese neuen Tyan bei
Service-Site:<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=orange align=center>
<td >BEREICH</td>
<td >LAND</td>
<td >KUNDENNR.</td>
<td >Kundenname</td>
</tr>'
--<td align=left>Abteilungsname</td>
Erklären
@str varchar(8000),
@AREA nvarchar(50),
@COUNTRY varchar(50),
@CUST_NO varchar(50),
@CUST_NAME varchar(50),
@vcount int
beginnen
setze @vcount=1
setze @str=''
Deklarieren Sie c_at Cursor
FÜR
Wählen Sie einen bestimmten Bereich, ein Land, eine Kundennummer und einen Kundennamen aus [dbo].[TYAN_SERVICE_SITE] aus, wobei der Bereich nicht NULL ist und der Kundenname nicht NULL ist und der Schiffsstandort nicht NULL ist und das Land nicht NULL ist und die Kundennummer nicht NULL ist und (CUST_TYPE NULL ist oder SERVICE_SITE ist null)
OPEN c_at
FETCH NEXT FROM c_at INTO @AREA,@COUNTRY,@CUST_NO,@CUST_NAME
WHILE (@@FETCH_STATUS = 0)
BEGINNEN
set @str=@str+'<tr align=center>'
set @str=@str+'<td >'+@AREA+'</td>'
set @str=@str+'<td >'+@COUNTRY+'</td>'
set @str=@str+'<td >'+@CUST_NO+'</td>'
set @str=@str+'<td >'+@CUST_NAME+'</td>'
setze @vcount=@vcount+1
FETCH NEXT FROM c_at INTO @AREA,@COUNTRY,@CUST_NO,@CUST_NAME
ENDE
-------Hier sind die Daten, die Sie am Ende anzeigen möchten -------
SCHLIESSEN c_at
DEALLOCATE c_at
Ende
Setze @mailbody = @mailbody+@str+'</table></body></html>'
Exec @hr = sp_OACreate 'jmail.message', @object OUTPUT
Exec @hr = sp_OASetProperty @object, 'Charset', 'BIG5'
--@recipient --Die E-Mail-Adresse Ihres Empfängers--------------------------------------- ----- ---------------
Exec @hr = sp_OAMethod @object, 'AddRecipient',NULL,'your mailaddress'
--Exec @hr = sp_OAMethod @object, 'AddRecipientBCC',NULL,'your mailaddress'
Exec @hr = sp_OASetProperty @object, 'Subject',@subject
Exec @hr = sp_OAsetProperty @object, 'HTMLBody' ,@mailbody
Exec @hr = sp_OAsetProperty @object, 'Priority' , 1
Wenn nicht, ist @sender null
Exec @hr = sp_OASetProperty @object, 'From', @sender
Wenn nicht, ist @sendername null
Exec @hr = sp_OASetProperty @object, 'FromName', @sendername
--Automatischer E-Mail-Start
Exec @hr = sp_OAMethod @object, 'Send', null,@serveraddress
Exec @hr = sp_OAGetErrorInfo @object, @source OUTPUT, @description OUTPUT
wenn (@hr = 0)
Beginnen
Setze @output='Fehlerquelle: '+@source
Drucken@Ausgabe
Wählen Sie @output = 'Fehlerbeschreibung: ' + @description
Drucken@Ausgabe
Ende
Anders
Beginnen
Drucken Sie „Fehler beim Abrufen der Fehlerinformationen!“ '
Zurückkehren
Ende
--JMail.Message-Objekt freigeben
EXEC @hr = sp_OADestroy @object
--IF @hr <> 0
--BEGINNEN
-- EXEC sp_OAGetErrorInfo @object
-- ZURÜCKKEHREN
--ENDE
Ende
Die oben gespeicherte Prozedur ist abgeschlossen.
Im Anhang finden Sie die Eröffnung der Ole-Automatisierungsverfahren
---Ole-Automatisierungsverfahren öffnen----
sp_configure 'erweiterte Optionen anzeigen', 1;
GEHEN
NEU KONFIGURIEREN;
GEHEN
sp_configure 'Ole-Automatisierungsprozeduren', 1;
GEHEN
NEU KONFIGURIEREN;
GEHEN
Sie können es verwenden, nachdem Sie geringfügige Änderungen basierend auf Ihren eigenen Daten vorgenommen haben. Das Senden von E-Mails wird im Allgemeinen zusammen mit dem SQL Server-Agent-Job zum regelmäßigen Senden von E-Mails verwendet.
Dieser Artikel stammt aus dem CSDN-Blog. Bitte geben Sie beim Nachdruck die Quelle an: http://blog.csdn.net/liaolian9948/archive/2009/12/31/5110313.aspx
-