Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Убрать Exception cannot find dimension member
|
|||
|---|---|---|---|
|
#18+
Представим что есть dimension Profiles. У него есть level profile_id. Допустим что в текущем состоянии dimension содержит следующие profile_id (3,4,5) В случае, когда я пытаюсь обратиться к значению 10 то соответсвенно выдет ошибку cannot find dimension member и это правильно. Но скажем так, я не всегда знаю точно какие именно id есть в текущем dimension. В MDX запрос вполне может попасть левые значения. Допустим в where я говорю покажи мне 3, 4, 11. Вылетает exception. Меня бы устроило если бы для 3 и 4 показало бы, для 11 ничего, так как его нет, но не было бы exceptions. Можно как-то в синтаксесе MDX такое поставить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 19:39 |
|
||
|
Убрать Exception cannot find dimension member
|
|||
|---|---|---|---|
|
#18+
McLuadПредставим что есть dimension Profiles. У него есть level profile_id. Допустим что в текущем состоянии dimension содержит следующие profile_id (3,4,5) В случае, когда я пытаюсь обратиться к значению 10 то соответсвенно выдет ошибку cannot find dimension member и это правильно. Но скажем так, я не всегда знаю точно какие именно id есть в текущем dimension. В MDX запрос вполне может попасть левые значения. Допустим в where я говорю покажи мне 3, 4, 11. Вылетает exception. Меня бы устроило если бы для 3 и 4 показало бы, для 11 ничего, так как его нет, но не было бы exceptions. Можно как-то в синтаксесе MDX такое поставить? Да можно. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 20:09 |
|
||
|
Убрать Exception cannot find dimension member
|
|||
|---|---|---|---|
|
#18+
Да, можно сделать как backfire предложил, или воспользоватья IsError(StrToMember(...)), что будет более оптимально если profiles много а выборка маленькая - но все эти методы выглядят "ненатурально", т.е. как бы выразились люди на этом форуме - "кривые". Поэтому в Юконе мы и сделали MdxMissingMembersMode о которой backfire спрашивал пару дней назад. Т.е. в Юконе просто пишешь: Код: plaintext Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 21:44 |
|
||
|
Убрать Exception cannot find dimension member
|
|||
|---|---|---|---|
|
#18+
MoshaДа, можно сделать как backfire предложил, или воспользоватья IsError(StrToMember(...)), что будет более оптимально если profiles много а выборка маленькая - но все эти методы выглядят "ненатурально", т.е. как бы выразились люди на этом форуме - "кривые". Поэтому в Юконе мы и сделали MdxMissingMembersMode о которой backfire спрашивал пару дней назад. Т.е. в Юконе просто пишешь: Код: plaintext Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights Меня интересует более философский вопрос. При каком сценарии вообще возникает желание/нужда/потребность написать в Mdx выражение идентификатор несуществующего member? (мне ничего не приходит в голову кроме как: "Клиента оставили на ночь в коннекте с сервером, а за это время произошел полный репроцессинг и члены измерения исчезли, а утром Юзер нажав F5 получил бы в AS2K Error". Только дальше у меня здоровой фантазии не хватает. Это ж при каком раскладе исчезают члены измерения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 01:34 |
|
||
|
Убрать Exception cannot find dimension member
|
|||
|---|---|---|---|
|
#18+
backfirfeПри каком сценарии вообще возникает желание/нужда/потребность написать в Mdx выражение идентификатор несуществующего member? Ну таких сценариев много. Многие аппликации например хранят MDX statement как определениe saved view (Proclarity, Panorama, Excel и т.д.). Когда этот saved view поднимается и члены измерения пропадаут то эти аппликации сегодня вручнуу пытаытся понять что произошло. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 02:44 |
|
||
|
Убрать Exception cannot find dimension member
|
|||
|---|---|---|---|
|
#18+
Mosha backfirfeПри каком сценарии вообще возникает желание/нужда/потребность написать в Mdx выражение идентификатор несуществующего member? Ну таких сценариев много. Многие аппликации например хранят MDX statement как определениe saved view (Proclarity, Panorama, Excel и т.д.). Когда этот saved view поднимается и члены измерения пропадаут то эти аппликации сегодня вручнуу пытаытся понять что произошло. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights Ну у нас те же проблемы, храним опредение отчета, не как голых MDХ, а структурированно и т.п. При десериализации надо проверять действительность членов. По этому то я и задавал вопросы про независимость UniqueName от Caption. Но как ни странно у меня никогда даже не возникало желания держать в настройках "старый мусор" и "волочить его по жизни". Как правило вопросы "что же произошло и как спасти ситуацию" возникают только при Update/Upgrade и обеспечении backward compatibility, когда пропавшие члены измерения - просто детский лепет по сравнению с морфингом всей модели, и тут MdxMissingMembersMode будет как мертвому припарка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 03:10 |
|
||
|
Убрать Exception cannot find dimension member
|
|||
|---|---|---|---|
|
#18+
backfire Меня интересует более философский вопрос. При каком сценарии вообще возникает желание/нужда/потребность написать в Mdx выражение идентификатор несуществующего member? Если, например, идентификаторы берутся из SQL, а сам запрос строится в MDX. Дело в том, что ADOMD неудобная штука для чтения, особенно если надо генерировать в динамическом MDX конструкции типа [1].[2] или [3].&[4], гораздо проще прочитать ключ в SQL. Или: у меня есть измерение времени, сгенерировать его ключ можно на клиенте по простому алгоритму и совсем не хочется читать несколько тысяч member'ов измерения, только для того, чтобы проверить, что нужный член измерения существует. Тем более, что анонимный доступ к MS AS есть только по http, а это тормозит соединение, SQL работает значительно быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 09:34 |
|
||
|
Убрать Exception cannot find dimension member
|
|||
|---|---|---|---|
|
#18+
ValentinТем более, что анонимный доступ к MS AS есть только по http, а это тормозит соединение, SQL работает значительно быстрее Мы отвлекаемся, но анонимный доступ есть не только по HTTP. (достаточно указать SSPI=anonymous), и HTTP не тормозит. Правда я согласен что соединение в SQL все равно быстрее. backfireНу у нас те же проблемы, храним опредение отчета, не как голых MDХ, а структурированно и т.п. И как Вы решаете эти проблемы ? Есть список из 100 members, какие из них еще живы. Ведь в AS2K невозможно сделать MDSCHEMA_MEMBERS поставив в restriction массив... Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 10:05 |
|
||
|
Убрать Exception cannot find dimension member
|
|||
|---|---|---|---|
|
#18+
backfire[quot Mosha]Меня интересует более философский вопрос. При каком сценарии вообще возникает желание/нужда/потребность написать в Mdx выражение идентификатор несуществующего member? (мне ничего не приходит в голову кроме как: "Клиента оставили на ночь в коннекте с сервером, а за это время произошел полный репроцессинг и члены измерения исчезли, а утром Юзер нажав F5 получил бы в AS2K Error". Только дальше у меня здоровой фантазии не хватает. Это ж при каком раскладе исчезают члены измерения. Всем спасибо за ответы !. Дело в том что как здесь уже говорили, ключи берутся из SQL запроса, а потом подставляются в MDX запрос. И как оказывается не все ключи существуют в dimension. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 10:22 |
|
||
|
Убрать Exception cannot find dimension member
|
|||
|---|---|---|---|
|
#18+
MoshaМы отвлекаемся, но анонимный доступ есть не только по HTTP. (достаточно указать SSPI=anonymous), и HTTP не тормозит. Правда я согласен что соединение в SQL все равно быстрее. Спасибо. А можно ещё вопрос? Скажем так: Код: plaintext Код: plaintext приложение сыпется на connection.Open() [COMException (0x80004005): Database '<db>' does not exist.] Вопрос: какие ещё параметры надо указать, чтобы соединение заработало по anonymous? Использую anonymous только потому что MS AS не поддерживает standard security, а trusted соединение установить не могу. Использую ADOMD 2.8 и MS AS Sp3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 10:32 |
|
||
|
Убрать Exception cannot find dimension member
|
|||
|---|---|---|---|
|
#18+
ValentinCOMException (0x80004005): Database '<db>' does not exist.] Видимо дело в том, что пользователь IUSR_server вклучен в database role for database <db>, а пользоватрель NT AUTHORITY\ANONYMOUS LOGON не вклучен. Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 10:39 |
|
||
|
Убрать Exception cannot find dimension member
|
|||
|---|---|---|---|
|
#18+
MoshaВидимо дело в том, что пользователь IUSR_server вклучен в database role for database <db>, а пользоватрель NT AUTHORITY\ANONYMOUS LOGON не вклучен. IUSR_server включён NT AUTHORITY\ANONYMOUS LOGON - спасибо, а где его найти? На закладке Manage roles/New/Add его нет. Это локальный пользователь сервера? Я его видел в событиях SQL Profiler'а, но среди пользователей найти не могу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 10:55 |
|
||
|
Убрать Exception cannot find dimension member
|
|||
|---|---|---|---|
|
#18+
MoshaИ как Вы решаете эти проблемы ? Есть список из 100 members, какие из них еще живы. Ведь в AS2K невозможно сделать MDSCHEMA_MEMBERS поставив в restriction массив... MDX запросом :-). Я же не раз говорил, что SchemaRowSet имеет достаточно неудобный интерфейс :-) Кстати, вопрос, кешируется ли в PivotTableService результаты SchemaRowSet или всегда с сервера тянутся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 12:10 |
|
||
|
Убрать Exception cannot find dimension member
|
|||
|---|---|---|---|
|
#18+
NT AUTHORITY\ANONYMOUS LOGON - спасибо а где его найти? Нашёл. Спасибо. Работает раза в 2 быстрее, чем по http. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 14:01 |
|
||
|
Убрать Exception cannot find dimension member
|
|||
|---|---|---|---|
|
#18+
backfireMDX запросом :-). Можно пожалуйста привести пример MDX запроса который проверяет какие из 100 member unique names по прежнему существуют ? Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 21:39 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=32829800&tid=1871970]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
85ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 267ms |
| total: | 461ms |

| 0 / 0 |
