AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 08.07.2010, 14:45   #1  
Kuibida is offline
Kuibida
Участник
 
12 / 10 (1) +
Join Date: 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 - все подключается и все работает.
__________________
и не таких обламывали
Old 08.07.2010, 15:03   #2  
Ivanhoe is offline
Ivanhoe
Участник
Ivanhoe's Avatar
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Join Date: 29.09.2005
Location: Санкт-Петербург
Неправильно. Надо так:
1) Initial Catalog=НАЗВАНИЕ БД ОЛАП
2) перед вызовом pt1.ConnectionString() нужно вызвать
X++:
pt1.DataMember("Название куба")
__________________
Ivanhoe as is..
Old 08.07.2010, 15:15   #3  
Kuibida is offline
Kuibida
Участник
 
12 / 10 (1) +
Join Date: 25.04.2007
Quote:
Originally Posted by Ivanhoe View Post
Неправильно. Надо так:
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);
все равно пишет "Не удалось инициализировать поставщика данных" и т.д.
__________________
и не таких обламывали
Old 08.07.2010, 15:23   #4  
Ivanhoe is offline
Ivanhoe
Участник
Ivanhoe's Avatar
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Join Date: 29.09.2005
Location: Санкт-Петербург
Попробуйте такую строку:
Quote:
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..
This post has been rated by: Player1 (2).
Old 08.07.2010, 15:28   #5  
Kuibida is offline
Kuibida
Участник
 
12 / 10 (1) +
Join Date: 25.04.2007
Спасибо, заработало!
С кавычкой это я извращался, а то выдавалось "The data provider didn't supply any further error information"

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

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

Last edited by Kuibida; 08.07.2010 at 15:53.
Old 19.04.2014, 10:27   #6  
Player1 is offline
Player1
Участник
Самостоятельные клиенты AX
 
306 / 137 (5) +++++
Join Date: 21.04.2008
?
А получить список кубов в базе реально?
Old 19.04.2014, 13:52   #7  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Join Date: 11.10.2011
Quote:
Originally Posted by Player1 View Post
А получить список кубов в базе реально?
Реально.
Например, вот так
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

Last edited by Cardagant; 19.04.2014 at 14:07.
This post has been rated by: sukhanchik (2), gl00mie (2), Player1 (2), arhat (1).
Old 21.04.2014, 06:37   #8  
Player1 is offline
Player1
Участник
Самостоятельные клиенты AX
 
306 / 137 (5) +++++
Join Date: 21.04.2008
Quote:
Originally Posted by Cardagant View Post
Реально.
Например, вот так
Да читал про этот вариант OLAP: проблема с программным процессингом измерений SSAS 2005
Спасибо что откликнулись, но т.к. версия Ах3.0, то вариант с References не подходит.
Смотрю в сторону DSO, но опять же он не поддерживается в sql server 2008.
This post has been rated by: Cardagant (1).
Old 21.04.2014, 13:54   #9  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Join Date: 11.10.2011
Quote:
Originally Posted by Player1 View Post
Спасибо за ссылочку, довольно интересная тема!
Прочитав, выложу подобный вариант с использованием 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());
}
Tags
activex, adomd, olap, pivottable, сводная таблица

 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Медленное копирование данных из 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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 18:17.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.