Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 доступом к поставщику OLE DB "Microsoft.ACE.OLEDB.12.0" пользователю с правами public  [new]
SandraSidorova
Member

Откуда: Пермь
Сообщений: 60
Здравствуйте! Прошу подсказать, какие роли сервера задать, (исключая админа) чтобы выполнялся запрос через openrowset

SELECT * 
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;
Database=путь\имяфайла.xlsx;
imex=1;HDR = YES', 'SELECT * FROM  [Лист1$]')


Когда даю пользователю права админа, запрос выполняется.
Иначе ошибка: Нерегламентированный доступ к поставщику OLE DB "Microsoft.ACE.OLEDB.12.0" запрещен. К данному поставщику доступ необходимо производить через связанный сервер.

В свойствах поставщика пробовала убирать/ставить галочки в: "Отключить нерегламентированный доступ" и в "Допускать в ходе процесса".

Хочется понять можно ли вообще выполнить такой запрос, c правами public.
Спасибо
4 дек 17, 14:19    [21004381]     Ответить | Цитировать Сообщить модератору
 Re: доступом к поставщику OLE DB "Microsoft.ACE.OLEDB.12.0" пользователю с правами public  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7757
SandraSidorova,
автор
Допускать в ходе процесса


сервер будет падать.

А для чего прямой запрос? Для импорта используйте Integration Services.
4 дек 17, 15:23    [21004629]     Ответить | Цитировать Сообщить модератору
 Re: доступом к поставщику OLE DB "Microsoft.ACE.OLEDB.12.0" пользователю с правами public  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
SandraSidorova
Хочется понять можно ли вообще выполнить такой запрос, c правами public.
Спасибо

Очень рекомендую сделать следующее - поставить вторым инстансом 32-битный бесплатный SQL Express x86, какой-нибудь кошерный вариант типа 2016 SP1, в него загружать из Excel и настраивать любые права, а уже оттуда готовые таблички выгружать в свой основной MSSQL инстанс.
И при назначении прав ничего не отломается, и при "alllow in" сломается - таки не жалко.
4 дек 17, 15:27    [21004643]     Ответить | Цитировать Сообщить модератору
 Re: доступом к поставщику OLE DB "Microsoft.ACE.OLEDB.12.0" пользователю с правами public  [new]
SandraSidorova
Member

Откуда: Пермь
Сообщений: 60
Всем спасибо! Нашла решение проблемы.
Когда установлена галочка Отключить нерегламентированный доступ
В реестрах ...Microsoft SQL Server\MSSQL10.MSSQLSERVER\Providers\Microsoft.ACE.OLEDB.12.0
Появляется параметр DisallowAdHocAccess со значением 1.

Но когда галку в свойствах убираю, в реестрах этот параметр вообще пропадает. Руками задала этому параметру значение 0.
И запрос под пользователем с правами public отработал!
5 дек 17, 09:45    [21006185]     Ответить | Цитировать Сообщить модератору
 Re: доступом к поставщику OLE DB "Microsoft.ACE.OLEDB.12.0" пользователю с правами public  [new]
Гигабайт Мегабайтович Килобайтов
Member [заблокирован]

Откуда:
Сообщений: 5975
Вопрос первый - где он отработал? ))
А после первого - самый интересный вопрос - как туда будет попадать файл?))
5 дек 17, 09:51    [21006211]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить