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

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

Если кто это знает - буду благодарен за совет.
...
Рейтинг: 0 / 0
12.11.2005, 02:55
    #33374834
Ihor Bobak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить синтаксис MDX программным путем?
Один обходной путь кажется найден: в 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
12.11.2005, 06:36
    #33374847
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить синтаксис MDX программным путем?
Ihor BobakНужно с помощью DSO/ADOMD/ADOMD.NET (не важно чего, лиш бы программным путем) проверить синтаксис MDX на правильность.

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

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

Вы имеете ввиду только синтаксис, или также проверку на употребление имен существующих объектов?
...
Рейтинг: 0 / 0
12.11.2005, 06:40
    #33374848
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить синтаксис MDX программным путем?
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
12.11.2005, 18:45
    #33375095
Ihor Bobak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить синтаксис MDX программным путем?
backfireИгорь, выставлять в публичном форуме куски дизассемблированого кода по меньшей мере не этично.

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

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

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

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

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

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

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

Нужно решение, которое работает одинаково хорошо как для AS2000, так и для AS2005.
...
Рейтинг: 0 / 0
13.11.2005, 16:08
    #33375450
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить синтаксис MDX программным путем?
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
14.11.2005, 18:26
    #33377465
Ihor Bobak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как проверить синтаксис MDX программным путем?
[quot backfireА кто вам мешает использовать ADOMD.NET 9.0, если вы уже пишете под .Net С# 2.0. Или через ADOMD.NET 9.0 к AS2k не подсоединиться?[/quot]

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

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

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

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


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