AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.03.2006, 15:12   #1  
Hezl is offline
Hezl
Участник
Аватар для Hezl
 
138 / 16 (1) ++
Регистрация: 21.04.2004
Адрес: Moscow, Russia
Доступ к аксаптовской таблице со стороны
Всем привет.
Есть аксаптовская база (СУБД MS SQL Server). Хочу дать разрешение на чтение одной таблицы внешнему приложению. Для этого завел в SQL Server новый логин, в самой базе новую роль с правом на чтение нужной таблицы. Все работает, но до первой синхронизации базы и приложения - слетают настройки доступа для таблиц и представлений (View).
Вопрос - как обойти подобную проблему?

Вижу несколько решений:
1. Дать бОльшие права (Роль db_datareader). Но это стрельба из пушки по воробьям.
2. Создать отдельную базу с такой же таблицей и экспортировать в нее данные из исходной (по регламенту или после изменений). Некрасивое решение.
3. Создать хранимую процедуру, в которой выбирать необходимые данные. В данном случае решение не подходит, т.к. требуется именно Table или View.

Есть еще варианты?
Старый 20.03.2006, 15:27   #2  
Roman777 is offline
Roman777
NavAx
Аватар для Roman777
NavAx Club
 
320 / 64 (3) ++++
Регистрация: 10.02.2005
Адрес: г. Москва
А что если после каждой синхронизации выполнять некий скрипт в котором GRANT SELECT
ON some_table
TO my_role
GO
...?

Последний раз редактировалось Roman777; 20.03.2006 в 15:46.
За это сообщение автора поблагодарили: Hezl (1).
Старый 20.03.2006, 15:45   #3  
Roman777 is offline
Roman777
NavAx
Аватар для Roman777
NavAx Club
 
320 / 64 (3) ++++
Регистрация: 10.02.2005
Адрес: г. Москва
Проверил на своей базе : создал роль, установил права этой роли на таблице Address, добавил пользователю эту роль... Провел синхронизацию - права не слетели.
_________________________________
MS SQL 2000 EE SP4
Axapta 3 SP4 EE FP1
Старый 20.03.2006, 16:08   #4  
Hezl is offline
Hezl
Участник
Аватар для Hezl
 
138 / 16 (1) ++
Регистрация: 21.04.2004
Адрес: Moscow, Russia
Про GRANT хорошая идея. Спасибо. Респект.
А про синхронизацию... Вы уверены, что процесс синхронизации реально запускался? Я предварительно добавлял поле в таблицу, чтобы быть уверенным

MS SQL 2000. Про SP не скажу.
Axapta 3.0 SP3 CU1
Старый 20.03.2006, 16:19   #5  
Hezl is offline
Hezl
Участник
Аватар для Hezl
 
138 / 16 (1) ++
Регистрация: 21.04.2004
Адрес: Moscow, Russia
Права сбрасываются для View. Для таблицы все отрабатывает нормально.
Старый 20.03.2006, 16:20   #6  
Roman777 is offline
Roman777
NavAx
Аватар для Roman777
NavAx Club
 
320 / 64 (3) ++++
Регистрация: 10.02.2005
Адрес: г. Москва
А, сорри. В таблицу ничего не добавлял и не удалял из нее (я имею ввиду не изменял ее структуру)...
Старый 20.03.2006, 16:29   #7  
Roman777 is offline
Roman777
NavAx
Аватар для Roman777
NavAx Club
 
320 / 64 (3) ++++
Регистрация: 10.02.2005
Адрес: г. Москва
Да, теперь подтверждаю: у view права действительно слетают и причина известна - при изменении структуры view и ее синхронизации происходит ее удаление и создание.
Тут наверное только GRANT поможет после синхронизации...
Может есть еще какие идеи?
Старый 20.03.2006, 16:35   #8  
Hezl is offline
Hezl
Участник
Аватар для Hezl
 
138 / 16 (1) ++
Регистрация: 21.04.2004
Адрес: Moscow, Russia
1.GRANT
2. Создать View в другой базе на основе таблиц из аксаптовской базы. Причем дать доступ только на те поля таблиц, которые участвуют в выборке. Т.к. настройки для таблиц не слетают, то работать будет.
Наверняка есть еще варианты.
Старый 20.03.2006, 16:44   #9  
Roman777 is offline
Roman777
NavAx
Аватар для Roman777
NavAx Club
 
320 / 64 (3) ++++
Регистрация: 10.02.2005
Адрес: г. Москва
3. В этой же базе построить VIEW (средствами SQL) на основе VIEW из аксапты. Назначить этой view необходимые права. Axapta не свои вьюхи не трогает при синхронизации. Плюс решения - не нужно задействовать другую базу.
Старый 20.03.2006, 16:56   #10  
Hezl is offline
Hezl
Участник
Аватар для Hezl
 
138 / 16 (1) ++
Регистрация: 21.04.2004
Адрес: Moscow, Russia
В общем, альтернатива есть.
Спасибо за конструктивное обсуждение
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Фильтрование записей при "переходе к основной таблице" demID DAX: Программирование 10 18.11.2015 12:52
Доступ к таблице Номера ГТД Roenick DAX: Администрирование 5 02.11.2006 18:16
доступ к таблице ProdRouteTrans tolstjak DAX: Администрирование 1 05.07.2004 16:44
Доступ к временной таблице Oz DAX: Администрирование 2 26.04.2004 15:26
фильтр по связанной таблице mick_777 DAX: Программирование 13 21.08.2002 16:00

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:42.