Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ADOMD.NET: Level.MemberCount и Member.ChildCount - тип данных
|
|||
|---|---|---|---|
|
#18+
В ADOMD.NET 8.0/9.0 заметил странную картину: для класса Member имеем вот такое: public long get_ChildCount() { if (this.baseData.AxisData == null) { DataRow row1 = (DataRow) this.baseData.MetadataData; return (long) Convert.ToInt32(AdomdUtils.GetProperty(row1, Member.childCountColumn), CultureInfo.InvariantCulture); } DataRow row2 = (DataRow) this.baseData.AxisData; if (!row2.Table.Columns.Contains("DisplayInfo")) { throw new NotSupportedException(SR.Member_MissingDisplayInfo); } return (long) (Convert.ToInt32(AdomdUtils.GetProperty(row2, "DisplayInfo"), CultureInfo.InvariantCulture) & 0xffff); } Аналогичная конвертация в long делается в Level.MemberCount. Смотрим теперь на схему XMLA запроса MDSCHEMA_MEMBERS: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. и видим: <xsd:element sql:field="CHILDREN_CARDINALITY" name="CHILDREN_CARDINALITY" type= "xsd:unsignedInt" minOccurs="0" /> То есть, с сервера идет unsigned int 32-bit, потом в коде ADOMD.NET конвертируется в signed int 32 bit, а затем в long. Это просто неточность, или сделано с какой то целью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 01:59 |
|
||
|
ADOMD.NET: Level.MemberCount и Member.ChildCount - тип данных
|
|||
|---|---|---|---|
|
#18+
Ihor BobakТо есть, с сервера идет unsigned int 32-bit, потом в коде ADOMD.NET конвертируется в signed int 32 bit, а затем в long. Это просто неточность, или сделано с какой то целью? И то и другое. Сначала расскажу почему вообще разные типы передаются. Это пресловутая backward compatibility(совместимость с предидущей версией). Дело в том, что OLEDB всегда возвращало uint, в результате чего XML/A, который моделировался по OLEDB, тоже возвращает uint. ADOMD(то, что без .Net) возвращало long. Сначала мы хотели это сломать(какая разница если продукт другой), но злое начальство топнуло ногой и сказало, что заказчики не хотят менять код(кстати а вы хотите менять код?), пришлось делать как было в старом ADOMD(кстати, знаете почему так не uint был?потому что VB unsigned не поддерживает). В общем получилось не очень красиво, зато совместимо. Но то, что два раза конвертится - это конечно ошибка(к счастью не опасная), дело в том, что (long) это уже компилятор прописал, а у нас в коде используется implicit conversion C шарпа. Ирина <BR> <BR>---------------------------------------------------- <BR>This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2006, 04:19 |
|
||
|
ADOMD.NET: Level.MemberCount и Member.ChildCount - тип данных
|
|||
|---|---|---|---|
|
#18+
ИринаСначала мы хотели это сломать(какая разница если продукт другой), но злое начальство топнуло ногой и сказало, что заказчики не хотят менять код(кстати а вы хотите менять код?) Да, я хочу и уже поменял свой код, ибо если ослов сменили на арабских скакунов, надо и седло менять и сбрую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2006, 12:14 |
|
||
|
ADOMD.NET: Level.MemberCount и Member.ChildCount - тип данных
|
|||
|---|---|---|---|
|
#18+
Иринано злое начальство топнуло ногой и сказало, что заказчики не хотят менять код Спасибо тебе Ира на добром слове :) Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2006, 00:57 |
|
||
|
ADOMD.NET: Level.MemberCount и Member.ChildCount - тип данных
|
|||
|---|---|---|---|
|
#18+
Mosha Иринано злое начальство топнуло ногой и сказало, что заказчики не хотят менять код Спасибо тебе Ира на добром слове :) Моша ---------------------------------------------------- This posting is provided "AS IS" with no warranties, and confers no rights Смею предположить, что если вы перед Ириной топнули, то перед этим вам кто то свыше кулаком по столу ударил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2006, 02:32 |
|
||
|
ADOMD.NET: Level.MemberCount и Member.ChildCount - тип данных
|
|||
|---|---|---|---|
|
#18+
Иринакстати а вы хотите менять код? Ирина, спасибо за ответ. Мы до этого не работали с ADOMD (без .NET), но я бы все-таки поменял код если бы мы делали переход с ADOMD на ADOMD.NET. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2006, 22:11 |
|
||
|
ADOMD.NET: Level.MemberCount и Member.ChildCount - тип данных
|
|||
|---|---|---|---|
|
#18+
Ihor Bobak Иринакстати а вы хотите менять код? Ирина, спасибо за ответ. Мы до этого не работали с ADOMD (без .NET), но я бы все-таки поменял код если бы мы делали переход с ADOMD на ADOMD.NET. Моша, вот видите, не только я один хочу (уже переписал) код. Спрашивается, кому нужна совместимость с ADOMD? VB-script-оидам? Тем более ADOMD9 в COM ипостаси существует только виртуально (за него под COM прикидивается ADOMD.NET - не завидую тем C#-щикам, которые это писали). Кстати, как не счет xcopy deployment ADOMD.NET 9? Если будем ходить только к AS2K5 серверу, и за локальные кубы браться не будем, то Microsoft.AnalysisServices.AdomdClient.dll это чистая .Net2 Assembly без пагубных наклонностей вызавать что либо кроме dll-лек операцинки? (если ILDASM меня не подвел) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2006, 22:58 |
|
||
|
ADOMD.NET: Level.MemberCount и Member.ChildCount - тип данных
|
|||
|---|---|---|---|
|
#18+
backfireКстати, как не счет xcopy deployment ADOMD.NET 9? Если будем ходить только к AS2K5 серверу, и за локальные кубы браться не будем, то Microsoft.AnalysisServices.AdomdClient.dll это чистая .Net2 Assembly без пагубных наклонностей вызавать что либо кроме dll-лек операцинки? (если ILDASM меня не подвел) У меня работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 00:17 |
|
||
|
ADOMD.NET: Level.MemberCount и Member.ChildCount - тип данных
|
|||
|---|---|---|---|
|
#18+
Ihor Bobak backfireКстати, как не счет xcopy deployment ADOMD.NET 9? Если будем ходить только к AS2K5 серверу, и за локальные кубы браться не будем, то Microsoft.AnalysisServices.AdomdClient.dll это чистая .Net2 Assembly без пагубных наклонностей вызавать что либо кроме dll-лек операцинки? (если ILDASM меня не подвел) У меня работает. Игорь, Вы же сами в другой ветке настаивали на том, чтобы на вопрос отвечал тот, кому он аресован, а не я. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2006, 12:36 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=33520501&tid=1870594]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
176ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 516ms |

| 0 / 0 |
