Коллеги, приветствую.
Подскажите существует ли решение - необходимо отправить email средствами mssql ?
Встроенный клиент увы не устраивает.
Собственно суть такова - на веб-форме регистрирую, предпположим, инцендент.
необходимо уведомить в фоновом режиме ответственного об этом событии.
почтовый клиент, в этом случае не устроет никак.
з.ы. можно пример небольшой. т.к. пока я в этом 0.00
собственно вот что у меня есть к этому времени:
var Parameters = System.CreateObject('TSObjectLibrary.Parameters');
AddParameter(Parameters, 'ParamProfile', pdtUnicodeString, 'test');
AddParameter(Parameters, 'ParamRecipients', pdtUnicodeString, 'xxx@xxx.ru');
AddParameter(Parameters, 'ParamSubject', pdtUnicodeString, 'Subject');
AddParameter(Parameters, 'ParamBody', pdtUnicodeString, 'Body');
Connector.DBEngine.ExecuteCustomSQL(SQLText, Parameters);
- но, не работает зараза...
Нравится
Здравствуйте,
Приведу пока меленький пример на вызов хранимой процедуры
Подключаем скрипт scr_DB
var Parameters = CreateSPParameters(); CreateSPParameter(Parameters, 'AccountName', pdtString, vAccountNameBP); CreateSPParameter(Parameters, 'AccountStateID', pdtString, vAccountStateIDBP); CreateSPParameter(Parameters, 'AccountCityID', pdtString, vAccountCityIDBP); CreateSPParameter(Parameters, 'AccountPhone', pdtString, vAccountPhoneBP); CreateSPParameter(Parameters, 'OutTest', pdtInteger, 0); //исходящий параметр Parameters.ItemsByName('OutTest').ParamType = 1; var SQLText = 'exec dbo.tsp_check_name_reg_city_phone :AccountName, :AccountStateID, :AccountCityID,:AccountPhone,:OutTest OUTPUT'; Connector.DBEngine.ExecuteCustomSQL(SQLText, Parameters); var res = Parameters.ItemsByName('OutTest').ValAsInt;
vAccountNameBP,vAccountStateIDBP,vAccountCityIDBP,vAccountPhoneBP здесь переменные с данными.
Попробуйте переписать сам вызов var SQLText = 'exec @res= msdb.dbo.sp_send_dbmail :Parameters';
установив четко параметры, как в моем примере
>>Приведу пока меленький пример на вызов хранимой процедуры
непомогло... пойду копать настройки на sql-серваке (
Перед началом работы с процедурой sp_send_dbmail вам необходимо установить компонент Database Mail и настроить учетную запись.
При вызове процедуры наверно лучше использовать именованные параметры.
msdb.dbo.sp_send_dbmail
@profile_name = 'MailTest',
@recipients = 'test@mydomain.ru',
@subject = 'Test Mail';
И делать это можно на стороне сервера, например в триггере.
>> Перед началом работы с процедурой sp_send_dbmail вам необходимо установить компонент Database Mail и настроить учетную запись.
а можно поподробнее ? я потом отпишусь пошагово, что да как делал - такой небольшой FAQ.
что то в этом плане http://blog.chertenok.ru/2010/04/sql-email-notifice/
>> И делать это можно на стороне сервера, например в триггере.
это понятно, но разве это есть хороший тон ? хотелось бы сделать все в конфигураторе, пусть и с лишними трудозатратами.
з.ы. вот еще вопрос - где то читал что нужно давать гранты на sp_send_dbmail. это так ?
Так в этом блоге есть вся нужная инфа по настройке компонента.
Касательно отправки через триггер.
Вы писали что "необходимо уведомить в фоновом режиме ответственного об этом событии ..."
Если же ва нужно отправлять с рабочего места, то тогда зачем использовать серверную отправку? Используйте или оутлук или еще что-то :wink: