SQL Server ошибка '80040e14'
От: Funny Rabbit Россия  
Дата: 02.06.22 06:28
Оценка:
Всем привет. Делаю так...

CREATE TRIGGER tgr_ai_send_mail
   ON  send_mail
   AFTER INSERT
AS 
BEGIN
declare @t varchar;
declare @s varchar;
declare @d VARCHAR(MAX) ;
declare @m varchar;

SELECT @t = (SELECT title FROM inserted)
SELECT @s = (SELECT sender FROM inserted)
SELECT @d = (SELECT Descr FROM inserted)
SELECT @m = (SELECT Module FROM inserted)

EXEC msdb.dbo.sp_send_dbmail  
    @profile_name = N'adsf', --@t,
    @recipients = 's.polyakov@vconnect.ru', --@s,  
    @body = N'zcvcxv',-- @d,  
    @subject = N'zdgf',--@m,
    @body_format = 'HTML';  

END
GO


И появляется это...

Microsoft OLE DB Provider for SQL Server ошибка '80040e14'


Что я делаю неправильно и как побороть. Подскажите, пожалуйста.
То что меня не убивает, делает меня умнее.
Re: SQL Server ошибка '80040e14'
От: BlackEric http://black-eric.lj.ru
Дата: 02.06.22 07:14
Оценка:
Здравствуйте, Funny Rabbit, Вы писали:

FR>Всем привет. Делаю так...

FR>

FR>CREATE TRIGGER tgr_ai_send_mail
FR>   ON  send_mail
FR>   AFTER INSERT
FR>AS 
FR>BEGIN
FR>declare @t varchar;
FR>declare @s varchar;
FR>declare @d VARCHAR(MAX) ;
FR>declare @m varchar;

FR>SELECT @t = (SELECT title FROM inserted)
FR>SELECT @s = (SELECT sender FROM inserted)
FR>SELECT @d = (SELECT Descr FROM inserted)
FR>SELECT @m = (SELECT Module FROM inserted)

FR>EXEC msdb.dbo.sp_send_dbmail  
FR>    @profile_name = N'adsf', --@t,
FR>    @recipients = 's.polyakov@vconnect.ru', --@s,  
FR>    @body = N'zcvcxv',-- @d,  
FR>    @subject = N'zdgf',--@m,
FR>    @body_format = 'HTML';  

FR>END
FR>GO
FR>


FR>И появляется это...

FR>

FR>Microsoft OLE DB Provider for SQL Server ошибка '80040e14'


FR>Что я делаю неправильно и как побороть. Подскажите, пожалуйста.


SQl Server какой?
В какой строке ошибка?
@recipients = 's.polyakov@vconnect.ru', --@s,
@body_format = 'HTML';
— вот тут N потеряна

FR>declare @t varchar;
FR>declare @s varchar;
FR>declare @d VARCHAR(MAX) ;
FR>declare @m varchar;

а тут лучше сразу использовать nvarchar.
https://github.com/BlackEric001
Re[2]: SQL Server ошибка '80040e14'
От: Funny Rabbit Россия  
Дата: 02.06.22 07:28
Оценка:
Здравствуйте, BlackEric, Вы писали:


BE>SQl Server какой?

BE>В какой строке ошибка?
BE>
BE>@recipients = 's.polyakov@vconnect.ru', --@s,
BE>@body_format = 'HTML';
— вот тут N потеряна


BE>
FR>>declare @t varchar;
FR>>declare @s varchar;
FR>>declare @d VARCHAR(MAX) ;
FR>>declare @m varchar;
BE>

BE>а тут лучше сразу использовать nvarchar.

Сервер 2012.

Вот это (msdb.dbo.sp_send_dbmail) студия подсвечивает красным, типа не найдена процедура. Переписал с nvarchar.

пробовал запустить не из триггера появилось это...

Сообщение 14607, уровень 16, состояние 1, процедура sysmail_verify_profile_sp, строка 42
Недопустимое имя profile

То что меня не убивает, делает меня умнее.
Отредактировано 02.06.2022 7:46 Funny Rabbit . Предыдущая версия .
Re[3]: SQL Server ошибка '80040e14'
От: BlackEric http://black-eric.lj.ru
Дата: 02.06.22 07:51
Оценка: 4 (1)
Здравствуйте, Funny Rabbit, Вы писали:

FR>пробовал запустить не из триггера появилось это...

FR>

FR>Сообщение 14607, уровень 16, состояние 1, процедура sysmail_verify_profile_sp, строка 42
FR>Недопустимое имя profile


Fix “profile name is not valid” When Sending Mail from SQL Server
Вот это делалось?
https://github.com/BlackEric001
Re[3]: SQL Server ошибка '80040e14'
От: Funny Rabbit Россия  
Дата: 02.06.22 08:04
Оценка:
Здравствуйте, Funny Rabbit, Вы писали:

FR>Здравствуйте, BlackEric, Вы писали:


Решено. Надо было имя профиля правильное указать. Спасибо.
То что меня не убивает, делает меня умнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.