08.07.2010, 14:45 | #1 |
Участник
|
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); как прицепиться то к кубику? пытался писать и так: 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 |
Участник
|
Неправильно. Надо так:
1) Initial Catalog=НАЗВАНИЕ БД ОЛАП 2) перед вызовом pt1.ConnectionString() нужно вызвать X++: pt1.DataMember("Название куба")
__________________
Ivanhoe as is.. |
|
08.07.2010, 15:15 | #3 |
Участник
|
Цитата:
инстанс: 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 |
Участник
|
Попробуйте такую строку:
Цитата:
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 |
Участник
|
Спасибо, заработало!
С кавычкой это я извращался, а то выдавалось "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 |
Участник
|
А получить список кубов в базе реально?
|
|
19.04.2014, 13:52 | #7 |
Участник
|
Реально.
Например, вот так 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 |
Участник
|
Да читал про этот вариант OLAP: проблема с программным процессингом измерений SSAS 2005
Спасибо что откликнулись, но т.к. версия Ах3.0, то вариант с References не подходит. Смотрю в сторону DSO, но опять же он не поддерживается в sql server 2008. |
|
|
За это сообщение автора поблагодарили: Cardagant (1). |
21.04.2014, 13:54 | #9 |
Участник
|
Цитата:
Сообщение от Player1
Да читал про этот вариант OLAP: проблема с программным процессингом измерений SSAS 2005
Прочитав, выложу подобный вариант с использованием 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, сводная таблица |
|
|