powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Как проверить синтаксис MDX программным путем?
12 сообщений из 12, страница 1 из 1
Как проверить синтаксис MDX программным путем?
    #33374808
Ihor Bobak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно с помощью DSO/ADOMD/ADOMD.NET (не важно чего, лиш бы программным путем) проверить синтаксис MDX на правильность.

Уже целый час ищу. На microsoft.public.sqlserver.olap задают этот вопрос - но ответа нет.

Если кто это знает - буду благодарен за совет.
...
Рейтинг: 0 / 0
Как проверить синтаксис MDX программным путем?
    #33374834
Ihor Bobak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один обходной путь кажется найден: в ADOMD.NET 9.0 (для AS2005) класс AdomdCommand имеет вот такой метод:

Код: plaintext
1.
2.
3.
4.
5.
public void Prepare()
{
      this.CheckCanExecute();
      this.connection.IExecuteProvider.Prepare(this, this.Properties, this.PrivateParameters);
      this.Connection.OpenedReader = null;
}

в то время как в версии 8.0 (для AS2000) в этом методе идет throw NotImplementedException(). Соответсвенно, мне для AS2000 придется писать тоже самое, только делать "взлом" через reflection.

Может есть путь более "элегантный" как программно проверить MDX на правильность?
...
Рейтинг: 0 / 0
Как проверить синтаксис MDX программным путем?
    #33374847
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ihor BobakНужно с помощью DSO/ADOMD/ADOMD.NET (не важно чего, лиш бы программным путем) проверить синтаксис MDX на правильность.

Уже целый час ищу. На microsoft.public.sqlserver.olap задают этот вопрос - но ответа нет.

Если кто это знает - буду благодарен за совет.

Вы имеете ввиду только синтаксис, или также проверку на употребление имен существующих объектов?
...
Рейтинг: 0 / 0
Как проверить синтаксис MDX программным путем?
    #33374848
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ihor BobakОдин обходной путь кажется найден: в ADOMD.NET 9.0 (для AS2005) класс AdomdCommand имеет вот такой метод:

Код: plaintext
1.
2.
3.
4.
5.
public void Prepare()
{
      this.CheckCanExecute();
      this.connection.IExecuteProvider.Prepare(this, this.Properties, this.PrivateParameters);
      this.Connection.OpenedReader = null;
}

в то время как в версии 8.0 (для AS2000) в этом методе идет throw NotImplementedException(). Соответсвенно, мне для AS2000 придется писать тоже самое, только делать "взлом" через reflection.

Может есть путь более "элегантный" как программно проверить MDX на правильность?

Игорь, выставлять в публичном форуме куски дизассемблированого кода по меньшей мере не этично.
...
Рейтинг: 0 / 0
Как проверить синтаксис MDX программным путем?
    #33375095
Ihor Bobak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfireИгорь, выставлять в публичном форуме куски дизассемблированого кода по меньшей мере не этично.

Давайте посмотрим на другую сторону медали: открываю я их BOL, и нахожу вот это: см. аттачмент. Причем картина отсутствия описания повторяется у них в очень мнохих местах. Интересно, этично ли выпускать релиз продукта с таким "справочником"?

Тем не менее, задача проверки MDX стоит, и стоит она открытой (ибо действительно, нет ответа на других форумах). И решить ее нужно. Предлагаю не отступать от темы, и если желаете - давайте создадим отдельный топик по этике.

P.S. вот здесь майкрософт сам опубликовал информацию о декоспиляторах:
http://msdn.microsoft.com/vcsharp/programming/tools/default.aspx, в том числе и о рефлекторе.
...
Рейтинг: 0 / 0
Как проверить синтаксис MDX программным путем?
    #33375100
Ihor Bobak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfireВы имеете ввиду только синтаксис, или также проверку на употребление имен существующих объектов?

пригодилось бы и то, и другое.

Во мнохих ОЛАП-клиентах есть такая функциональность, как "Test MDX", например в GUI для создания calculated member. Для calculated member проверить это легко - можно по полученому MDX запустить CREATE SESSION MEMBER [и подставить здесь наше MDX-выражение] а затем DROP SESSION MEMBER, заодно и получим exception в котором будет текст ошибки.

Однако задачу мне нужно решить в общем случае. Если, например, есть MDX select ... from ..., то надо всего-лишь проверить, запустится ли он или выдасть ошибку (и если выдаст - получить текст ошибки), но не осуществляя сам запуск.

Как это сделать?
...
Рейтинг: 0 / 0
Как проверить синтаксис MDX программным путем?
    #33375103
Ihor Bobak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К стати - на найденый мной метод MdxScript.Validate (тот, что на картинке без описания) не обращайте внимания - он существует только в ADOMD.NET 9.0 (то есть для AS2005).

Нужно решение, которое работает одинаково хорошо как для AS2000, так и для AS2005.
...
Рейтинг: 0 / 0
Как проверить синтаксис MDX программным путем?
    #33375450
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ihor BobakК стати - на найденый мной метод MdxScript.Validate (тот, что на картинке без описания) не обращайте внимания - он существует только в ADOMD.NET 9.0 (то есть для AS2005).

Нужно решение, которое работает одинаково хорошо как для AS2000, так и для AS2005.

А кто вам мешает использовать ADOMD.NET 9.0, если вы уже пишете под .Net С# 2.0. Или через ADOMD.NET 9.0 к AS2k не подсоединиться?
...
Рейтинг: 0 / 0
Как проверить синтаксис MDX программным путем?
    #33377465
Ihor Bobak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot backfireА кто вам мешает использовать ADOMD.NET 9.0, если вы уже пишете под .Net С# 2.0. Или через ADOMD.NET 9.0 к AS2k не подсоединиться?[/quot]

В том то и дело, что еще не пишем под .NET 2.0 (мы на него перейдем, но не в ближайшее время).
...
Рейтинг: 0 / 0
Как проверить синтаксис MDX программным путем?
    #33380171
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ihor Bobak[quot backfireА кто вам мешает использовать ADOMD.NET 9.0, если вы уже пишете под .Net С# 2.0. Или через ADOMD.NET 9.0 к AS2k не подсоединиться?

В том то и дело, что еще не пишем под .NET 2.0 (мы на него перейдем, но не в ближайшее время).[/quot]

"И хочется и колется и мама не велит" :-)
...
Рейтинг: 0 / 0
Как проверить синтаксис MDX программным путем?
    #33384734
Ihor Bobak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
backfire"И хочется и колется и мама не велит" :-)

Ну и к чему это сказано?
...
Рейтинг: 0 / 0
Как проверить синтаксис MDX программным путем?
    #33425624
dmitry_kz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь, мне интересно, нашли ли Вы решение Вашей проблемы? Мне так же надо будет делать возможность парсинга MDX-запроса в AS2K.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Как проверить синтаксис MDX программным путем?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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