Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Джентльмены, кто аботал с SQL mail? / 15 сообщений из 15, страница 1 из 1
13.03.2002, 14:40
    #32025114
Yuriy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто аботал с SQL mail?
При обработке почтовых сообщений процедурами xp_findnextmsg и xp_readmail выполняется проверка на наличие приаттаченных файлов. При присутствии оных возникает необходимость их сохранения на диске. Но вот тут то вся загвоздка. В параметре "attachments" процедуры xp_readmail возвращаются имена прикрепленных файлов с указанием временного пути. Этот временный путь по-умолчанию имеет значение системной папки c:\winnt (у меня стоит Windows NT). Однако при поиск этих сохраненных файлов там результата не дает. В чем здесь причина. Каково время "жизни" этих файлов и можно ли изменить их место положения или скопировать в другую папку для постоянного хранения (средствами SQL, разумеется)?
...
Рейтинг: 0 / 0
13.03.2002, 14:51
    #32025115
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто аботал с SQL mail?
Однако при поиск этих сохраненных файлов там результата не дает
Как осуществляется поиск ? Визуально, программно ?

Каково время "жизни" этих файлов
IMHO пока не удалено сообщение

можно ли изменить их место положения или скопировать в другую папку для постоянного хранения (средствами SQL, разумеется)?

xp_cmdshell
...
Рейтинг: 0 / 0
13.03.2002, 15:48
    #32025126
Yuriy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто аботал с SQL mail?
Поиск файлов во временной директории ( c:\winnt ) осуществлялся как визуально, так и програмно с помощью xp_cmdshell. Оба случая не дали положительного результата.
...
Рейтинг: 0 / 0
13.03.2002, 15:57
    #32025130
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто аботал с SQL mail?
У меня Microsoft Outlook2002 вообще-то сообщает все правильно о пути

И кстати что значит "Этот временный путь по-умолчанию имеет значение системной папки c:\winnt (у меня стоит Windows NT). " По какому умолчанию ?

Мой Microsoft Outlook2002 опять же все аттачменты выкладывает в C:\Documents & Settings\ account \ Local Settings\Temp

PS
Поиск по всему диску запускали ? Может все-таки присланный файл где-то хранится ?
...
Рейтинг: 0 / 0
13.03.2002, 16:33
    #32025137
Yuriy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто аботал с SQL mail?
У меня тоже Outlook 2002 стоит. А система у меня NT. Несмотря на это считанных файлов не только в профиле пользователя, но и на всем диске не оказалось. На временное местоположение приаттаченных файлов указывает как я уже говорил значение параметра "attachment" процедуры "xp_readmail". Это значение возвращается из процедуры и равно "c:\winnt\<имя файла>. Кстати об временной директории хранения файлов говорится в справке по процедуре "xp_readmail", однако там ничего не говорится о ее местоположении т.е. "умалчивается" или я что-то недочитал или недопонял.
...
Рейтинг: 0 / 0
14.03.2002, 05:44
    #32025153
Vladimir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто аботал с SQL mail?
А, где сам SQL Server установлен? На Вашей локальной машине или как отдельный сервер? Если как отдельный сервер, то поищите файлы именно на нем, а не у себя на машине. Я так с JOBами прокололся однажды и все свои логи, которые формировал на C:\ обнаружил на серваке.
...
Рейтинг: 0 / 0
14.03.2002, 08:51
    #32025189
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто аботал с SQL mail?
Кстати об временной директории хранения файлов говорится в справке по процедуре "xp_readmail", однако там ничего не говорится о ее местоположении т.е. "умалчивается" или я что-то недочитал или недопонял.
Конечно и не должно говориться. Ведь xp_readmail _использует_ почтового клиента, а не _настраивает_ его.

IMHO дело в настройках Outlook-а. Получается вроде бы что он все аттачменты для всех учетных записей(имеющих почтовый профиль на данной машине) будет складывать в c:\winnt ?

А в самом Outlook-е сообщение видно нормально, аттачмент можно открыть ?
...
Рейтинг: 0 / 0
14.03.2002, 13:24
    #32025247
Yuriy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто аботал с SQL mail?
У меня SQL Server стоит на моей машине. Правда он сконфигурирован не как локальный. Мой ПК сам представляет собой сервер ( система Windows NT Server ) и к нему подключены клиенты. (это для Vladimir).
Для Glory:
Профиль Outlook настроен на одну учетную запись, под которой запускаются все службы SQL Server. Если все дело в настройках почтового клиента (Outlook), то хотелось бы знать где настроить (или хотя бы найти) путь размещения каталога аттачментов. Сами аттачменты без проблемм открываются из почтовых сообщений в Outlook. Более того они правильно обрабатываются процедурой xp_readmail. Но, повторюсь, место их временного хранения (каталог
C:\winnt) самих файлов не содержит.
Для наглядности привожу текст процедуры и ее результаты.

SCRIPT:

declare @stat int, @stat1 int, @stat2 int, @id varchar(255),
@sender_addr varchar(255),
@subj varchar(255),
@msg varchar(255),
@attach varchar(255),
@shellstr varchar(255)

EXEC @stat = xp_findnextmsg
@unread_only = 'TRUE',
@msg_id = @id OUTPUT
while @stat = 0
begin
EXEC @stat1 = xp_readmail @msg_id = @id,
@peek = 'FALSE',
@suppress_attach = 'TRUE',
@subject = @subj OUTPUT,
@message = @msg OUTPUT,
@attachments = @attach OUTPUT,
@originator_address = @sender_addr OUTPUT

if @stat1 <> 0 break
select @sender_addr, @subj, @msg, @attach

set @shellstr = 'dir ' + @attach

EXEC @stat2 = xp_cmdshell @shellstr
if @stat2 <> 0 break

EXEC @stat = xp_findnextmsg
@unread_only = 'TRUE',
@msg_id = @id OUTPUT
end

OUTPUT:

yuriy@stockmarket.kiev.ua test C:\WINNT\errors.txt

Volume in drive C has no label.
Volume Serial Number is 1C60-12FC
NULL
Directory of C:\WINNT
NULL
File Not Found
NULL
...
Рейтинг: 0 / 0
14.03.2002, 13:37
    #32025251
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто аботал с SQL mail?
Ну вы блин даете

EXEC @stat1 = xp_readmail @msg_id = @id,
@peek = 'FALSE',
@suppress_attach = 'TRUE',
@subject = @subj OUTPUT,
@message = @msg OUTPUT,
@attachments = @attach OUTPUT,
@originator_address = @sender_addr OUTPUT


BOL
@suppress_attach = 'suppress_attach'
Is whether mail attachments are suppressed. suppress_attach is varchar(255), with a default of TRUE (do not create temporary files). If set to true, SQL Server prevents the creation of temporary files when xp_readmail reads a message with attachments . If set to false, there is no prevention of temporary files when messages with attachments are read.
...
Рейтинг: 0 / 0
14.03.2002, 14:32
    #32025262
Yuriy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто аботал с SQL mail?
Уважаемый Glory, не спешите с выводами. Я это уже пробовал ( имею ввиду установку значения suppress_attach в 'FALSE') и получал следующее сообщение об ошибке:

Server: Msg 18025, Level 16, State 1, Line 0
xp_readmail: failed with mail error 0x80004005
...
Рейтинг: 0 / 0
14.03.2002, 14:41
    #32025265
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто аботал с SQL mail?
У меня данная опция как раз и запрещает/разрешает создание _временного файла аттачмента_ на диске. При этом путь к файлу возвращается в любом случае

То что у вас возникает ошибка, говорит о том, что собственно процесс записи в директорию c:\winnt почему-то невозможен. Например, у учетной записи SQL сервера нет соответсвующих прав.
...
Рейтинг: 0 / 0
14.03.2002, 15:32
    #32025271
Yuriy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто аботал с SQL mail?
Ну, Glory, давай дожмем этот вопрос. Буду очень благодарен.
Запись аттачмента в директорию C:\WINNT производится несмотря на ошибку чтения сообщения.
Приаттаченный файл действительно находится в этой директории, вот только он почему-то пустой ( 0 байт ). Однако само письмо остается в Inbox помеченным как непрочитанное. Что касается учетной записи SQL Server, то она имеет права системного администратора и администатора домена в NT (используется Windows NT - утентификация) и под этой же записью запускаются все службы SQL Server. Разве что для одного и того же логина "yuriy" используются разные пароли в учетных записях NT и Outlook. Может собака порылась в этом?
...
Рейтинг: 0 / 0
14.03.2002, 19:01
    #32025286
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто аботал с SQL mail?
По описанию ошибки найти ничего не удалось, т.к. 0x80004005 - это Unspecified failure.
Косвено по статье http://support.microsoft.com/search/preview.aspx?scid=kb;en-us;Q274330 можно предположить, что проблема может быть решена установкой сервиспаков (если они конечно не установлены)


Мне лично не нравиться использование C:\WINNT в качестве директории для _временных файлов_
Попробуйте изменить эту установку. IMHO этот путь берется из переменных окружения TEMP/TMP учетной записи SQL-я.
...
Рейтинг: 0 / 0
15.03.2002, 07:40
    #32025338
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто аботал с SQL mail?
...
Рейтинг: 0 / 0
19.03.2002, 09:05
    #32025659
Yuriy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Джентльмены, кто аботал с SQL mail?
Привет, Glory. Прошу прощения за запоздалый возврат к теме SQL Mail. Срочный вопрос восстановления данных перебил нашу дискуссию.
Вопрос с аттачментами решился установкой sp1. (у меня он не стоял). Так, что еще раз благодарю за оказанную помощь. До встречи на форуме.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Джентльмены, кто аботал с SQL mail? / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]