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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.07.2010, 14:45   #1  
Kuibida is offline
Kuibida
Участник
 
12 / 10 (1) +
Регистрация: 25.04.2007
PivotTable и OLAP
Привет всем!

Возникла необходимость прицепиться из Аксапты к существующему кубу на 2008 сервере. Ставлю на форму ActiveX PivotTable а дальше надо подключиться - не выходит.

инстанс: olapserver\dds
кубик: salescube

X++:
strConnection = '"Provider=MSOLAP;Data Source=olapserver\\dds;Initial Catalog=salescube;';

pt1.ConnectionString(strConnection);
пишет: "не удалось инициализировать поставщика данных.
[Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию"

если вот такую строку подключения сделать:
X++:
strConnection = '"Provider=MSOLAP;Integrated Security=SSPI;Persist Security Info=False;Data Source=olapserver\\dds;Initial Catalog=salescube;';

pt1.ConnectionString(strConnection);
пишет: "Произошли ошибки во время выполнения многошаговой операции OLE DB"...

как прицепиться то к кубику?

пытался писать и так: Provider=MSOLAP.3 (хотя это для 2005) и Provider=MSOLAP.4 - фиг вам
Сразу про формат строки - в начале двойная кавычка, т.к. без нее вообще не хочет коннектиться, а если поставить в конце закрывающуюся двойную кавычку - тоже не хочет коннектиться.
"The data provider didn't supply any further error information" и тишина.
Авторизация виндусовая сделана и если захожу через Management Studio - все подключается и все работает.
__________________
и не таких обламывали
Старый 08.07.2010, 15:03   #2  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Неправильно. Надо так:
1) Initial Catalog=НАЗВАНИЕ БД ОЛАП
2) перед вызовом pt1.ConnectionString() нужно вызвать
X++:
pt1.DataMember("Название куба")
__________________
Ivanhoe as is..
Старый 08.07.2010, 15:15   #3  
Kuibida is offline
Kuibida
Участник
 
12 / 10 (1) +
Регистрация: 25.04.2007
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Неправильно. Надо так:
1) Initial Catalog=НАЗВАНИЕ БД ОЛАП
2) перед вызовом pt1.ConnectionString() нужно вызвать
X++:
pt1.DataMember("Название куба")
попробовал вот так:

инстанс: olapserver\dds
база олап: DDS
куб: salescube

X++:
strConnection = '"Provider=MSOLAP;Data Source=olapserver\\dds;Initial Catalog=DDS';

pt1.DataMember('salescube');
pt1.ConnectionString(strConnection);
все равно пишет "Не удалось инициализировать поставщика данных" и т.д.
__________________
и не таких обламывали
Старый 08.07.2010, 15:23   #4  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Попробуйте такую строку:
Цитата:
Provider=MSOLAP.3;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Dynamics AX;Data Source=SRV\OLAP
,
где SRV\OLAP - полное название сервера ОЛАП;
Dynamics AX - название БД ОЛАП.

И зачем у вас двойная кавычка в начале?
__________________
Ivanhoe as is..
За это сообщение автора поблагодарили: Player1 (2).
Старый 08.07.2010, 15:28   #5  
Kuibida is offline
Kuibida
Участник
 
12 / 10 (1) +
Регистрация: 25.04.2007
Спасибо, заработало!
С кавычкой это я извращался, а то выдавалось "The data provider didn't supply any further error information"

сейчас все нормально и без нее. Спасибо!

Если уж зашел разговор про OLAP - этот вариант просто самый быстрый. А есть ли в 2009 возможность прицепляться к внешним кубам каким-то нормальными средствами визуализации,например, как в 2010 шарепоинте? Чтобы и таблицы видеть и графики смотреть красивые?
__________________
и не таких обламывали

Последний раз редактировалось Kuibida; 08.07.2010 в 15:53.
Старый 19.04.2014, 10:27   #6  
Player1 is offline
Player1
Участник
Самостоятельные клиенты AX
 
306 / 137 (5) +++++
Регистрация: 21.04.2008
?
А получить список кубов в базе реально?
Старый 19.04.2014, 13:52   #7  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Цитата:
Сообщение от Player1 Посмотреть сообщение
А получить список кубов в базе реально?
Реально.
Например, вот так
X++:
Microsoft.AnalysisServices.AdomdClient.AdomdConnection  con = new Microsoft.AnalysisServices.AdomdClient.AdomdConnection();
Microsoft.AnalysisServices.AdomdClient.CubeCollection   cubes;
Microsoft.AnalysisServices.AdomdClient.CubeDef          cubeDef;
     
int                                                     i;
int                                                     cubesCount;
;

// set your own connection string
con.set_ConnectionString("provider=msolap;Data Source=(local);initial catalog=<YourCubeBase>;");
con.Open();

cubes = con.get_Cubes();
cubesCount = cubes.get_Count();

for (i = 0; i < cubesCount; i++)
{
    cubeDef = cubes.get_Item(i);
        
    if (cubeDef.get_Type() == Microsoft.AnalysisServices.AdomdClient.CubeType::Cube)
         info(cubeDef.get_Name());
}

Для работы данного кода в узле References должна быть подключена сборка Microsoft.AnalysisServices.AdomdClient

Последний раз редактировалось Cardagant; 19.04.2014 в 14:07.
За это сообщение автора поблагодарили: sukhanchik (2), gl00mie (2), Player1 (2), arhat (1).
Старый 21.04.2014, 06:37   #8  
Player1 is offline
Player1
Участник
Самостоятельные клиенты AX
 
306 / 137 (5) +++++
Регистрация: 21.04.2008
Цитата:
Сообщение от Cardagant Посмотреть сообщение
Реально.
Например, вот так
Да читал про этот вариант OLAP: проблема с программным процессингом измерений SSAS 2005
Спасибо что откликнулись, но т.к. версия Ах3.0, то вариант с References не подходит.
Смотрю в сторону DSO, но опять же он не поддерживается в sql server 2008.
За это сообщение автора поблагодарили: Cardagant (1).
Старый 21.04.2014, 13:54   #9  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Цитата:
Сообщение от Player1 Посмотреть сообщение
Спасибо за ссылочку, довольно интересная тема!
Прочитав, выложу подобный вариант с использованием IEnumerator, который также может быть полезен и применён в версиях, поддерживающих CLR.

X++:
Microsoft.AnalysisServices.AdomdClient.AdomdConnection  con = new Microsoft.AnalysisServices.AdomdClient.AdomdConnection();
Microsoft.AnalysisServices.AdomdClient.CubeCollection   cubes;
Microsoft.AnalysisServices.AdomdClient.CubeDef          cubeDef;     
System.Collections.IEnumerator                          en;
;

// set your own connection string
con.set_ConnectionString("provider=msolap;Data Source=(local);initial catalog=<YourCubeBase>;");
con.Open();

cubes = con.get_Cubes();
en = cubes.GetEnumerator();
     
while(en.MoveNext())
{
    cubeDef = en.get_Current();
        
    if (cubeDef.get_Type() == Microsoft.AnalysisServices.AdomdClient.CubeType::Cube)
        info(cubeDef.get_Name());
}
Теги
activex, adomd, olap, pivottable, сводная таблица

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Медленное копирование данных из Spreadsheet в PivotTable PSerg DAX: Программирование 0 12.08.2009 10:19
Почему не могут зайти пользователи Excel 2003 на OLAP 2005? mazzy DAX: Администрирование 4 30.08.2007 10:35
OLAP Drillthrough в PivotTable10 из Axapta bio_unit DAX: Программирование 0 21.04.2004 10:40
Опять про OLAP и Enum mit DAX: Программирование 6 05.04.2004 11:06
Проблема с подключением к OLAP серверу Andrew Besedin DAX: Администрирование 0 20.03.2002 12:06

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

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

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