【发布时间】:2021-11-18 18:16:12
【问题描述】:
我正在尝试将 SQL 服务器设置为每次在一个表中插入新记录时自动发送一封电子邮件。我已经设置了数据库邮件,当我从 Visual Studio 本地运行应用程序时,它运行良好。但是当我将它发布到公司的 IIS 服务器时,它就失败了,更糟糕的是,任何新记录都没有插入到表中。
什么可以使它在本地 IIS express 上而不是在公司 IIS 服务器上工作? 我去了 IIS 管理器,但我没有找到任何关于 SMTP 与 SQL 服务器的设置..
这里是触发器的代码,它再次起作用但仅在本地工作。谢谢。
CREATE TRIGGER dbo.trigger1
ON dbo.******
AFTER INSERT
AS
BEGIN
DECLARE @bodyHtml AS VARCHAR(100)
SET @bodyHtml = 'http:***************'+ CAST (( SELECT MAX(Number) FROM *****) AS nvarchar(max))
EXEC msdb.dbo.sp_send_dbmail
@profile_name = '**********',
@recipients = '**********',
@subject = '***********',
@body = @bodyHtml,
@body_format = 'HTML';
END
GO
【问题讨论】:
-
您是否阅读过这里的数据库邮件故障排除指南:docs.microsoft.com/en-us/sql/relational-databases/database-mail/…?如果触发器失败,则不会插入行。但是您应该会在应用程序中看到一个错误。
标签: sql sql-server iis database-mail