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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.06.2009, 12:08   #1  
ATimTim is offline
ATimTim
Участник
 
395 / 13 (1) ++
Регистрация: 10.06.2004
Адрес: Питер
OLAP: проблема с программным процессингом измерений SSAS 2005
Коллеги, необходима ваша помощь в решении проблемы - при процессинге куба процессинг измерений не производится, если я не ошибаюсь

Исходные данные:

SSAS = 2005
DataSource = Oracle 10
Настроен reference на Microsoft.AnalysisServices.dll

Цель: для определенного куба программно запроцессить все его измерения

Ограничение:
1) по возможности, обойтись без XMLA, Command и т.д.
2) пока не предлагать пересоздание измерений

Проблема: Cтрока процессинга измерения приводит к исключению:
cubeDim.Process( Microsoft.AnalysisServices.ProcessType::ProcessUpdate ); //Эта строка приводит к исключению.
Причем, метод cubeDim.Process() пробовал использовать с различными параметрами ProcessType, так и без них - результат одинаково плачевный.




X++:
void processCubeDimensions()
{
  Microsoft.AnalysisServices.Server                    svr ;
  Microsoft.AnalysisServices.DatabaseCollection        dbc;
  Microsoft.AnalysisServices.Database                  db ;

  Microsoft.AnalysisServices.DimensionCollection       dimCollection ;
  Microsoft.AnalysisServices.Dimension                 dim ;

  Microsoft.AnalysisServices.DataSourceCollection      dsc;
  Microsoft.AnalysisServices.DataSource                ds;

  Microsoft.AnalysisServices.CubeCollection            cubeCollection;
  Microsoft.AnalysisServices.Cube                      maCube;

  Microsoft.AnalysisServices.CubeDimensionCollection   cubeDimCollection;
  Microsoft.AnalysisServices.Dimension                 cubeDim;
  System.Collections.IEnumerator                       ie;
  ;

   try
   {

     svr  = new Microsoft.AnalysisServices.Server();
     svr. Connect("Srv106");

    svr.BeginTransaction();
     if (svr !=null && svr.get_Connected())
     {
       dbc = svr.get_Databases();
       if (dbc)
       {
         db =  dbc.Find("Axapta BAS dat");
         dimCollection = db.get_Dimensions();
       }
     }

     dsc = db.get_DataSources();
     ds  = dsc.FindByName("TestOLAPFunc");

     cubeCollection =  db.get_Cubes();
     maCube = cubeCollection. FindByName("TestOLAPFunc");

     cubeDimCollection = maCube.get_Dimensions();
     ie = cubeDimCollection.GetEnumerator();
     while (ie.MoveNext())
     {
       cubeDim = ie.get_Current();
       info(cubeDim.get_Name());
       cubeDim.Process( Microsoft.AnalysisServices.ProcessType::ProcessUpdate );
       svr.CommitTransaction();
    }
  }
  catch
  {
    svr.RollbackTransaction();
  }

}
Краткое описание проблемы:

Инициализация всех объектов в коде происходит без ошибок.
Исключение возникает только при попытка запроцессить измерение.
Думал, что проблема в правах доступа, но пролистав роли

X++:
 rc = svr.get_Roles();
     ie = rc.GetEnumerator();

     while (ie.MoveNext())
     {
       r = ie.get_Current();
       info(r.get_Name());
     }

получил Administrators

Обновление измерений через интерфейс SQL BI Dev Studio производится без проблем.
Теги
olap, ssas, процессинг

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с программным открытием форм ortin DAX: Функционал 8 16.11.2007 10:08
Почему не могут зайти пользователи Excel 2003 на OLAP 2005? mazzy DAX: Администрирование 4 30.08.2007 10:35
SQL 2005 и OLAP George Nordic DAX: Администрирование 9 21.03.2006 19:36
OLAP, проблема, ENUM в качестве аналитики z_av DAX: База знаний и проекты 1 22.07.2003 17:55
Проблема с подключением к OLAP серверу Andrew Besedin DAX: Администрирование 0 20.03.2002 12:06

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

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

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