|
По материалам статьи Sqlguru на SQLTEAM.COM "SQLMail in Depth" Один из ГУРУ SQLTEAM рассказывает в этой статье о том, как
можно с помощью электронной почты посылать запросы SQL серверу
в прикреплённых файлах так, чтобы информация была введена в
базу данных. xp_sendmail Xp_sendmail может быть использована и для отправки простых уведомлений: xp_sendmail Эту процедуру можно использовать для отправки по почте результатов исполнения запроса: xp_sendmail Многие из дополнительных параметров xp_sendmail
предназначены для управления исполнением запроса (database
context, database user) и его отображением (headers,
formatting, attach query results in a file). xp_findnextmsg Если unread_only установлен в ИСТИНУ, то будут возвращаться
идентификаторы только не прочтённых сообщений из входного
почтового ящика. Идентификатор сообщения возвращается через параметр msg_id, если он определён как OUTPUT. Иначе, идентификатор возвращается в отчёте исполнения процедуры. Xp_findnextmsg возвращает NULL если сообщений больше нет. Следующий пример возвратит все идентификаторы сообщений во входном почтовом ящике: DECLARE @hMessage varchar(255) EXEC xp_findnextmsg @msg_id=@hMessage OUT Для просмотра сообщений с известными идентификаторами используется хранимая процедура xp_readmail. Синтаксис её следующий: xp_readmail Большинство выходных параметров этой процедуры возвращают
вспомогательные атрибуты сообщения и хорошо описаны в Books
Online. Остановимся только на самых характерных
моментах: Следующий пример печатает каждое сообщение во входном почтовом ящике: DECLARE @hMessage
varchar(255), EXEC xp_findnextmsg @msg_id=@hMessage OUT Если запустить xp_readmail без параметров, Вы получаете полный список сообщений во входном почтовом ящике. Сохранив этот список во временной таблице, Вы можете делать над ним любые выборки для достижения необходимых результатов. Для удаления сообщения используйте: xp_deletemail 'message ID' Также, в своей статье, автор ссылается на реализованный им пример, когда он синхронизировал таблицу MS Excel с SQL сервером через электронную почту. Система была предназначена для поддержки мобильных пользователей, которые имели доступ к центральному офису только через электронную почту. |
Перевод: Александр Гладченко 2001г. |