-1

我正在尝试将 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
4

1 回答 1

0

感谢大卫布朗为我指明了正确的方向。我打开链接,我看到的第一个词是“许可”..

我觉得很愚蠢......在本地主机上,我使用我的凭据连接到 SQL 服务器。IIS 服务器使用不同的凭据连接到 SQL 服务器,将服务器角色 sysadmin 添加到 IIS 服务器解决了这个问题。

于 2021-11-18T19:00:01.707 回答