20.03.2008, 07:59 | #1 |
Участник
|
Создание моделей обновления для Reporting Service
Здравствуйте уважаемые)
Работаем на Dynamics AX SP2, операционка server 2003 Enterprise x64 SP2, SQL 2005 x64 SP2, IIS 6.0, .Net FrameWork 2.0 который вместе с AX ставился по умолчанию. Поручили разобраться с Reporting Service. С боем потихоньку продвигаюсь вперед. После нескольких попыток удалось наконец нормально запустить саму службу нормально. Далее по инструкции поставил роль для AX Reporting Server, сделал настройки, проверил сам сервер, все нормально. Из аота убрал все ненужные Perspective, оставил только одну Invent по умолчанию созданную. Запустил на исполнение процедуру создания моделей. Работает со вчерашнего вечера и результатов не видать (около 15 часов). Экран клиента где запущена операция показывает молоко, а профайлер скуля кажет что выполняются какие то обработки, причем забит до отказа только диск. Других видимых результатов работы не наблюдается. Машина в общем то шустрая, размер рабочей базы с которой репорт работает составляет около 100Gb. Оперативки 4GbБ, на жестком места около 100Gb свободного под базу , система отдельно. Кто работал с Reporting Service подскажите пожалуйста нормально ли такая затяжная операция, и неужто каждый раз обновление данных в базах для службы отчетов будет выполняться так долго? Заранее благодарен. P.S.: Создавать модель с перспективой на одну небольшую таблицу пробовал, отработало достаточно быстро минуты за 2-3, почему здесь так долго в толк не могу взять??? |
|
26.03.2008, 09:50 | #2 |
Участник
|
Вот что удалось выяснить. Вся загвоздка на таблице InventTable. Как только она объявляется в Perspective, сразу получаем "молочный экран". Создал перспективу в которую попали такие таблицы как InventSum, InventTrans, InventJournalTrans и еще несколько мелких. Отработало без проблем, достаточно быстро. Как только добавляю InventTable тупик. При трассировке удалось выяснить что зависание происходит при обращении к методу объекта зашитого в ядро
X++: SRSSecureViewManager::synchronizeWithTable(tableId); Пробовал удалять с таблицы наши наработки, снес оба слоя usr и var. После синхронизации результат прежний. Других идей уже нет, помогите разобраться
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. |
|
26.03.2008, 10:17 | #3 |
Microsoft Dynamics
|
Нет, на стандартных демо-данных, для 2-х языков (русс, англ.) все модели по стандартным перспективам строятся примерно минут за 15-20 на ноутбуке Попробуйте поиграться с формой "Параметры создания моделей", для начала отключите ненужные языки.
__________________
You should use Bing before asking dumb questions. Последний раз редактировалось Jabberwocky; 26.03.2008 в 10:20. |
|
26.03.2008, 12:09 | #4 |
Участник
|
Все языки выключил и при создании модели в настройках выбираю только русский. Как я уже написал скорей всего проблема в структуре таблицы или в чем то с ней связанном.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. |
|
26.03.2008, 12:33 | #5 |
Microsoft Dynamics
|
Еще наводка: Аксапта при генерации моделей создает в базе данных так называемые secured views, для поддержки разграничения доступа на уровне полей и RLS. Возможно проблема возникает при создании view, возможно из-за нехватки прав на создание view в БД, а возможно... еще по паре десятков причин...
__________________
You should use Bing before asking dumb questions. |
|
27.03.2008, 00:43 | #6 |
Британский учённый
|
Цитата:
Posmotrite 4to v loge pishet? Obi4no on bivaet o4en polezen, ya govoru pro log geniracii modeley, po umol4aniu pishetsya kazhetsya v moi dokumenti. Naprimer esli na tablice ne budut stoyat Title fields to tablica ne budet dobavlena v model, pri etom generaciya prohodit uspeshno no oshibku etu mozhno uvidet v log fayile.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. Последний раз редактировалось Link; 27.03.2008 в 00:45. |
|
|
За это сообщение автора поблагодарили: KingPeas (1). |
27.03.2008, 07:42 | #7 |
Участник
|
Цитата:
Сообщение от Link
Posmotrite 4to v loge pishet? Obi4no on bivaet o4en polezen, ya govoru pro log geniracii modeley, po umol4aniu pishetsya kazhetsya v moi dokumenti.
Naprimer esli na tablice ne budut stoyat Title fields to tablica ne budet dobavlena v model, pri etom generaciya prohodit uspeshno no oshibku etu mozhno uvidet v log fayile. Цитата:
2008-03-27T10:06:40 : Информация : 0001 : Создание модели началось для следующих языков: ru
2008-03-27T10:06:42 : Предупреждение : 1003 : Не удается найти метку для поля ItemType в таблице INVENTTABLE 2008-03-27T10:06:43 : Предупреждение : 1003 : Не удается найти метку для поля SalesPriceModelBasic в таблице INVENTTABLE 2008-03-27T10:06:44 : Предупреждение : 1003 : Не удается найти метку для поля ForecastDMPInclude в таблице INVENTTABLE 2008-03-27T10:06:44 : Предупреждение : 1003 : Не удается найти метку для поля IntrastatWeight_CZ в таблице INVENTTABLE 2008-03-27T10:06:44 : Предупреждение : 1003 : Не удается найти метку для поля PKWiUCode_PL в таблице INVENTTABLE 2008-03-27T10:06:44 : Предупреждение : 1003 : Не удается найти метку для поля SadRateCode_PL в таблице INVENTTABLE 2008-03-27T10:06:44 : Предупреждение : 1003 : Не удается найти метку для поля DKL_ItemClass в таблице INVENTTABLE 2008-03-27T10:06:44 : Предупреждение : 1003 : Не удается найти метку для поля DKL_InventSertifGroupId в таблице INVENTTABLE 2008-03-27T10:06:45 : Предупреждение : 1003 : Не удается найти метку для поля RET_TradeMarkId в таблице INVENTTABLE 2008-03-27T10:06:45 : Предупреждение : 1003 : Не удается найти метку для поля RET_ItemSort в таблице INVENTTABLE 2008-03-27T10:06:45 : Предупреждение : 1003 : Не удается найти метку для поля RET_Model в таблице INVENTTABLE 2008-03-27T10:06:45 : Предупреждение : 0004 : Не удается найти код валюты для использования для поля MEL_LastPurchPrice в таблице INVENTTABLE 2008-03-27T10:06:45 : Предупреждение : 1003 : Не найдено меток для перечисления SalesPriceModel с кодом 279. 2008-03-27T10:06:45 : Предупреждение : 1003 : Не найдено меток для перечисления boolean с кодом 61440. 2008-03-27T10:06:45 : Предупреждение : 1003 : Не найдено меток для перечисления NoYes с кодом 61469. Сравнил с теми предупреждениями которые выходили по другим таблицам. В принципе кроме 3 последних сообщений все остальные встречались и не мешали формированию модели. Что интересно Код 279 для SalesPriceModel это ID самого расширенного типа причем в таблице используется поле SalesModel без метки, но само оно наследуется от расширенного типа SalesItemModel которое в свою очередь расширяет SalesPriceModel. Все эти поля и перечисления _Model не модифицировались, то есть существуют на слое sys, а вот что означают два последних сообщения в толк не возьму. Может есть идеи?
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. Последний раз редактировалось KingPeas; 27.03.2008 в 08:02. |
|
27.03.2008, 12:50 | #8 |
Британский учённый
|
Цитата:
Сообщение от KingPeas
Создал перспективу с одной таблицей InventTable вот результат формирования лога.
Операция была прервана, поэтому у лога нет завершения. Сравнил с теми предупреждениями которые выходили по другим таблицам. В принципе кроме 3 последних сообщений все остальные встречались и не мешали формированию модели. Что интересно Код 279 для SalesPriceModel это ID самого расширенного типа причем в таблице используется поле SalesModel без метки, но само оно наследуется от расширенного типа SalesItemModel которое в свою очередь расширяет SalesPriceModel. Все эти поля и перечисления _Model не модифицировались, то есть существуют на слое sys, а вот что означают два последних сообщения в толк не возьму. Может есть идеи? Mozhno poprobovat nayti problemnoe pole. Naprimer podebazhit, ili metodom isklu4eniya v teste posnosit poo4eredno modificirovannie polya. Po kodam ni4ego skazat ne mogu, no eto ne oshibki a preduprezhdeniya, stalo bit problema ne v nih.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
27.03.2008, 14:25 | #9 |
Участник
|
Цитата:
Сообщение от Link
Mne kazhetsya 4to on samu pri4inu ne zapisivaet v log potomu4to gde to podvisaet, kak ya ponyal. No pri4ina dolzhno bit imenno v modificirovannom pole.
Mozhno poprobovat nayti problemnoe pole. Naprimer podebazhit, ili metodom isklu4eniya v teste posnosit poo4eredno modificirovannie polya. Po kodam ni4ego skazat ne mogu, no eto ne oshibki a preduprezhdeniya, stalo bit problema ne v nih. X++: SRSSecureViewManager::synchronizeWithTable(tableId);
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. |
|
27.03.2008, 15:09 | #10 |
Британский учённый
|
Цитата:
Сообщение от KingPeas
Дело действительно в модификациях. Вот только вряд ли они связаны с таблицей, поскольку я удалял с таблицы все сделанные нами модификации и это не дало результата. Получается проблема либо в связях этой таблицы с чем то, либо в самом приложении что-то глобальное не дает нормально отработать процедуре. А трассировка никакого эффекта не дает, все идет нормально до вызова
X++: SRSSecureViewManager::synchronizeWithTable(tableId); A 4to u vas zdes \Forms\SysRecordLevelSecurity, est kakie zapisi?
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
28.03.2008, 10:51 | #11 |
Участник
|
Уважаемый оказался прав). После удаления записей RLS все стало прекрасно отрабатывать. Пока в чем дело до конца не ясно, но причина по видимому кроется именно в правах.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. |
|
28.03.2008, 10:57 | #12 |
Британский учённый
|
Super rad 4to problema reshilas!
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
|
За это сообщение автора поблагодарили: KingPeas (1). |
02.04.2008, 09:47 | #13 |
Участник
|
Что ж, для потомков нужно поставить жирную точку)
Дело действительно было в RLS. Дело в том, что освоение Reproting Services совпало с переходом с 3.0 на 4.0, при переносе данных некорректно перенеслись RLS ( сменился какой то из id у таблиц). После перенастройки RLS все стало работать как положено.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. |
|