加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server存储过程以发送电子邮件

发布时间:2021-05-20 13:23:46 所属栏目:MsSql教程 来源:网络整理
导读:这是我第一次尝试编写通过电子邮件发送给某人的存储过程.尝试执行时,我收到以下错误: Msg 102,Level 15,State 1,Procedure EmailTodaysErrors,Line 14Incorrect syntax near '@MailServer'.Msg 137,State 2,Line 26Must declare the scalar variable "@mails

这是我第一次尝试编写通过电子邮件发送给某人的存储过程.尝试执行时,我收到以下错误:

Msg 102,Level 15,State 1,Procedure EmailTodaysErrors,Line 14
Incorrect syntax near '@MailServer'.
Msg 137,State 2,Line 26
Must declare the scalar variable "@mailserver".
Msg 137,Line 33
Must declare the scalar variable "@Body".

我正在使用的代码是:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE EmailTodaysErrors 
@SenderName varchar(100),@SenderAddress varchar(100),@RecipientName varchar(100),@RecipientAddress varchar(100),@Subject varchar(200),@Body varchar(8000)
@MailServer varchar(100) = 'localhost'
AS
SET NOCOUNT ON;
declare @oMail int --Object reference
declare @resultcode int
EXEC @resultcode = sp_OACreate 'CDONTS.NewMail',@oMail OUT

if @resultcode = 0
BEGIN
EXEC @resultcode = sp_OASetProperty @oMail,'RemoteHost',@mailserver
EXEC @resultcode = sp_OASetProperty @oMail,'FromName',@SenderName
EXEC @resultcode = sp_OASetProperty @oMail,'FromAddress',@SenderAddress
EXEC @resultcode = sp_OASetProperty @oMail,'From','To',@RecipientAddress
EXEC @resultcode = sp_OASetProperty @oMail,'Subject',@Subject
EXEC @resultcode = sp_OASetProperty @oMail,'Body',@Body
EXEC @resultcode = sp_OAMethod @oMail,'Send',NULL
EXEC sp_OADestroy @oMail
END

set nocount off
GO

任何帮助将不胜感激.提前致谢.

解决方法

在@body行之后你丢失了一个逗号,这就是抛弃你的声明.

在这里添加:

@Body varchar(8000),-- HERE
@MailServer varchar(100) = 'localhost'

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读