Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 OLE Automation via SQL + проблемы с правами доступа  [new]
UH
Member

Откуда: Kiev
Сообщений: 146
Всем добрый день.
MSSQL Server 2000 SP3a, работает под доменной учётной записью MSSQLServer.
На сервере установлен MSExcel.

Формирование и рассылка отчётов в формате Excel производится хранимой процедурой.

Проблема состоит в том, что при запуске хранимой процедуры, при создании OLE-объекта "Excel.Application" система возвращает ошибку "Отказано в доступе".
Вот тестовый скрипт, который запускается под учёткой MSSQLServer и возвращает эту ошибку:
DECLARE @hr INTEGER, @obj INTEGER
DECLARE @desc VARCHAR(1000)
EXEC @hr = SP_OACREATE "Excel.Application", @obj OUT
IF @hr <> 0 or @@ERROR <> 0 BEGIN
  EXEC SP_OAGETERRORINFO @obj, @hr out, @desc out
  print @desc
END

EXEC @hr = SP_OASETPROPERTY @obj, 'Visible', 0
IF @hr <> 0 or @@ERROR <> 0 BEGIN
  EXEC SP_OAGETERRORINFO @obj, @hr out, @desc out
  print @desc
END

EXEC @hr = SP_OADESTROY @obj

Не можем найти причину отказа в доступе. Уже запарились искать проблему :(
Может, кто сталкивался с подобным?

Добавлю, что под LocalSystem всё работает на ура. Но LocalSystem не устраивает, т.к. необходимо использовать MAPI. Чтобы обойти проблему начали использовать XP_SMTP_SENDMAIL для рассылки почты в обход MAPI, но сейчас твёрдо решили разобраться с проблемой, т.к. MAPI понадобилась для других целей.
4 июл 05, 13:19    [1671876]     Ответить | Цитировать Сообщить модератору
 Re: OLE Automation via SQL + проблемы с правами доступа  [new]
UH
Member

Откуда: Kiev
Сообщений: 146
Проблема решена, всем спасибо.
Если кому интересно, проблема решается утилитой dcomcnfg и подкруткой прав для нужного нам COM объекта.
4 июл 05, 13:44    [1672002]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить