powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / проблемы с XML for Analysis provider + AS2005
7 сообщений из 7, страница 1 из 1
проблемы с XML for Analysis provider + AS2005
    #33466385
Ihor Bobak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использую ADOMD.NET 8.0, XML for Analysis 1.1 SDK. Устанавливаю соединение к AS2005 по HTTP и запускаю MDX -
вылазят странные глюки с возвращаемыми данными. Источник нашел - помогите разобраться с причиной.

Делаю так:

Код: plaintext
1.
connection = new AdomdConnection("Data Source=http://localhost/xmla/msxisapi.dll;Catalog=Northwind;User ID=mydomain\\myaccount;Password=1");
connection1.Open();

соединение устанавливается отлично. Далее, запускаем MDX:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
string mdx =  @"
select 
      HIERARCHIZE({[Customer].[All Customer].[USA]}, 
	   Descendants([Customer].[All Customer].[USA], [Customer].[Region], SELF), [Customer].[All Customer]}) DIMENSION PROPERTIES MEMBER_TYPE on rows,
      [Order Date].[Year].AllMembers DIMENSION PROPERTIES MEMBER_TYPE on columns
from sales
";
command1 = new AdomdCommand(mdx, connection);
cellSet = command1.ExecuteCellSet();

И здесь возникает странная картина - посмотрите на скниншот.
На нем вы видите какая кракозябла возвращается от http://localhost/xmla/msxisapi.dll
(на картинке показано то, что отловил HttpAnalyser - программа, анализирующая весь HTTP трафик).

Файл конфигурации "C:\Program Files\Microsoft XML For Analysis SDK\Config\datasources.xml" имеет такое содержимое:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<DataSource>
		<DataSourceName>Local Analysis Server  2005 </DataSourceName>
		<DataSourceDescription>Microsoft Analysis Server  2005  on local machine</DataSourceDescription>
		<URL>http://localhost/xmla/msxisapi.dll</URL>
		<DataSourceInfo>Provider=MSOLAP. 3 ;Data Source=EARTH\AS2005</DataSourceInfo>
		<ProviderName>Microsoft XML for Analysis</ProviderName>
		<ProviderType>
			<TDP/>
			<MDP/>
			<DMP/>
		</ProviderType>
		<AuthenticationMode>Unauthenticated</AuthenticationMode>
	</DataSource>

Если приконнектиться к серверу не через http://localhost/xmla/msxisapi.dll а напрямую
Код: plaintext
1.
connection = new AdomdConnection("Data Source=earth;Catalog=Northwind;");
connection1.Open();

то все работает отлично.

Я пробовал тот же код, только с AS2000: строку в datasources.xml менял на такую

Код: plaintext
<DataSourceInfo>Provider=MSOLAP. 2 ;Data Source=EARTH</DataSourceInfo>

и все работало на ура.

Вначале я думал что может XML for Analysis 1.1. для AS2005 не подходит и
у него есть свой XML for Analysis provider - но не нашел ни гуглом, ни на
сайте майкрософта, ни среди файлов и папок которые установил AS2005.

Вопрос: как правильно работать с AS2005 по HTTP и что я делаю не так?
...
Рейтинг: 0 / 0
проблемы с XML for Analysis provider + AS2005
    #33466410
Mosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У AS2005 поддержка XMLA встроенная. Использовать XMLA for Analysis SDK для него, это значит делать двойную конверсию:

XMLA -> OLEDB90 -> XMLA

Вместо того чтобы сразу делать XMLA. Инструкции как его поставить - можно прочитать в статье Эдика:
http://www.microsoft.com/technet/prodtechnol/sql/2005/httpasws.mspx

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
проблемы с XML for Analysis provider + AS2005
    #33466463
Ihor Bobak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, получилось. Все отлично работает.

MoshaУ AS2005 поддержка XMLA встроенная.

По моих наблюдениях (поправьте меня если я ошибаюсь) в AS2000 также есть встроенная поддержка XMLA.

XmlaClient.Connect() при условии что connectionInfo.ConnectionType==ConnectionType.Native вызывает OpenTcpConnection(connectionInfo), а тот в свою очередь открывает TCP-коннект на порт 0x94f и на нем базирует свой xmlaStream. Ну а далее все DISCOVER/EXECUTE запросы посылаются в прямом виде на этот стрим, и в упор не вижу использования OLEDB...

Или я неправ?
...
Рейтинг: 0 / 0
проблемы с XML for Analysis provider + AS2005
    #33466466
Mosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ihor BobakПо моих наблюдениях (поправьте меня если я ошибаюсь) в AS2000 также есть встроенная поддержка XMLA.
Вы ошибаетеь. Тот код который Вы видите в ADOMD.NET поддерживает XMLA over TCP/IP только для AS2005.
Дополнительные детали о том как это сделано, можно прочитать в моем блоге:
http://www.sqljunkies.com/WebLog/mosha/archive/2005/12/02/as2005_protocol.aspx

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
проблемы с XML for Analysis provider + AS2005
    #33466473
Ihor Bobak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MoshaВы ошибаетеь. Тот код который Вы видите в ADOMD.NET поддерживает XMLA over TCP/IP только для AS2005.

да, действительно, недосмотрел... если AS2000, то ConnectIXmla() а не ConnectXmla()...

ну а дальше все ясно: WriteEndOfMessage() просит StreamInteropHelper разобрать XMLA запрос, ну а тот использует C:\Program Files\Microsoft.NET\Adomd.NET\80\msadomdx.dll - я так понял враппер над OLEDB, правильно думаю?
...
Рейтинг: 0 / 0
проблемы с XML for Analysis provider + AS2005
    #33466538
Mosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ihor Bobakmsadomdx.dll - я так понял враппер над OLEDB, правильно думаю?
Извиняюсь, но опять не правильно. ADOMD.NET это не wrapper над OLEDB, это совершенно самостоятельный код полностью написанный на .NET

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
проблемы с XML for Analysis provider + AS2005
    #33468488
Ihor Bobak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MoshaИзвиняюсь, но опять не правильно. ADOMD.NET это не wrapper над OLEDB, это совершенно самостоятельный код полностью написанный на .NET
Вы меня не поняли. Когда я говорил о враппере, я имел ввиду msadomdx.dll.

В любом случае, уважаемый Моша, я Вам очень благодарен за ответы, и за то, что Analysis Services 2005 получился не такой глючный, как была его последняя beta.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / проблемы с XML for Analysis provider + AS2005
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]