Программа позволяет раздавать доступ на множество кубов с единной точки. Нет необходимости заходить в каждый куб отдельно и добавлять в роли учетные записи. Так же параллельно она вносит изменения в проекты кубов на Visual Studio 2008. Она не может писать либо на сервер с кубами, либо в проекты кубов. Ей нужно указывать путь и туда и туда. Для добавления на сервер необходимо заполнить таблицу с кубами названиями кубов, которые лежать на сервере. Для добавления в проекты надо воспользоваться возможностями интерфейса.
Эта кнопка позволяет добавлять роли в кубах в список ролей к которым нужен доступ. После нажатия выбирается проект с кубом и файлы в нем с расширением *.role.
После составления списка его можно сохранить, нажав соответсвующую кнопку. Так же есть кнопка загрузить, которая позволяет загрузить ранее составленный список.
Кнопка "Добавить/удалить пользователей во все файлы" позволяет добавлять и удалять пользователей. Добавить пользователя можно только после нажатия кнопки "Проверить". Само добавление происходит по кнопке "Сохранить". Пользователь сохраняется в проекте куба.
Кнопка "Поиск удаленных" ищет пользователей в кубах, которые были удалены из ActiveDirectory. В Analysis Services 2008 не возможно было сделать Deploy проекта из Visual Studio если в нём присутсвовали учетные записи, которые были удалены из Active Directory. Поэтому, был сделан функционал, который позволял удалить таких пользователей из списка ролей.
<appSettings> ... <add key="oracon" value="Data Source=YOUR_BASE;User ID=db_user;Password=db_password;Unicode=True" /> ... </appSettings>
<appSettings> ... <add key="WorkDir" value="C:\Cubes\Work" /> ... </appSettings>
<appSettings> ... <add key="RolesDir" value="C:\Path\Projects" /> ... </appSettings>
<appSettings> ... <add key="Domain" value="YOUR_DOMAIN" /> ... </appSettings>
<appSettings> ... <add key="userid" value="YOUR_USER" /> ... </appSettings>
<appSettings> ... <add key="password" value="user_password" /> ... </appSettings>
<appSettings> ... <add key="OLAPServer" value="olap_server" /> ... </appSettings>
<appSettings> ... <add key="SQLQueries" value="c:\your_project_dir\SQL\SQLQueries.xml" /> ... </appSettings>
<appSettings> ... <add key="utl_cubes_etl_dates" value="utl_cubes_etl_dates" /> ... </appSettings>
create table UTL_CUBES_ETL_DATES ( rep_date DATE not null, cube_name VARCHAR2(250) not null, updduration NUMBER, when_update DATE, status VARCHAR2(50), error_mes VARCHAR2(4000), start_time TIMESTAMP(6), table_name VARCHAR2(250), cube_rus_name VARCHAR2(250), cube_project_name VARCHAR2(250) );
<appSettings> ... <add key="fct_permission_log" value="fct_permission_log" /> ... </appSettings>
Сreate table FCT_PERMISSION_LOG ( action NVARCHAR2(30), createddate DATE, createdby NVARCHAR2(200), account NVARCHAR2(200), tabnum NVARCHAR2(30), id_org_struct NUMBER, sitegroup NVARCHAR2(300), sitename NVARCHAR2(300), id NUMBER default 0 not null, id_group NUMBER, username NVARCHAR2(300), sitegroup2 VARCHAR2(300) )