AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.08.2011, 19:40   #1  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
672 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
перенос откомпилированного приложения
в продолжение своей темы о разной скорости компиляции хочу спросить, возможно ли просто перенести откомпилированное (глобальная компиляция) приложение с одной машины на другую?

насколько я понял из документации, при глобальной компиляции изменяется содержимое aod-файлов для каждого слоя. то есть никакой привязки к машине, на которой происходит компиляция нет. соответственно после простого переноса файлов должно быть достаточно выполнить синхронизацию с базой данных.

это так? какие есть засады на этом пути?

спасибо
__________________
Felix nihil admirari
Старый 31.08.2011, 19:51   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от wojzeh Посмотреть сообщение
насколько я понял из документации, при глобальной компиляции изменяется содержимое aod-файлов для каждого слоя.
aod-файлы не меняются.

меняется aoi-файл и другие другие *.??i-файлы
а также возможно, alt

индексы не привязаны к слоям.

вполне можно копировать откомпилированное приложение.

важно помнить одно - если копируется из каталога с работающей аксаптой, то индексы не скопируются или могут быть скопированы неправильно. нужно остановить все АОСы и только после этого копировать.
__________________
полезное на axForum, github, vk, coub.
Старый 31.08.2011, 19:56   #3  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
672 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от mazzy Посмотреть сообщение
aod-файлы не меняются.

меняется aoi-файл и другие другие *.??i-файлы
а также возможно, alt

индексы не привязаны к слоям.

вполне можно копировать откомпилированное приложение.

важно помнить одно - если копируется из каталога с работающей аксаптой, то индексы не скопируются или могут быть скопированы неправильно. нужно остановить все АОСы и только после этого копировать.
хм... индексы, насколько я понимаю, можно прибить, а потом пересоздать перезапуском аос. именно так я и делал, базируясь на теме Как грамотно почистить кеш

а вот что пишут в документации на 4 странице Chapter 4: Installing a Base System Installation and Configuration in Microsoft Dynamics® AX 2009

Compile Application

The Compile Application function updates the references and makes sure that the
application is ready for use. This process can take an hour or more to run,
depending on the computer's hardware. This is step is required to initialize the
system. When the application is compiled, the application source code is
translated into binary code that can be interpreted by the kernel. The binary code
is stored in the .aod file.


или мы о разных вещах говорим?

собственно меня интересует оптимальный путь инсталляции ролапов, хотфиксов и прочих апгрейдов системы
__________________
Felix nihil admirari
Старый 31.08.2011, 20:02   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
начал сомневаться.
послушаем что скажут другие.
__________________
полезное на axForum, github, vk, coub.
Старый 31.08.2011, 21:43   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
На сколько я понимаю при компиляции происходит пересборка бинарного кода. Т.е. если например была изменена константа в каком-нибудь макросе, то при компиляции измениться и бинарный код и как следствие изменится aod файл.

В любом случае просто переноса файлов и их переиндексации вполне достаточно. Повторная компиляция, имхо, излишня.
За это сообщение автора поблагодарили: wojzeh (1).
Старый 31.08.2011, 21:50   #6  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
672 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
На сколько я понимаю при компиляции происходит пересборка бинарного кода. Т.е. если например была изменена константа в каком-нибудь макросе, то при компиляции измениться и бинарный код и как следствие изменится aod файл.

В любом случае просто переноса файлов и их переиндексации вполне достаточно. Повторная компиляция, имхо, излишня.
а зачем нужна повторная переиндексация в таком случае?
__________________
Felix nihil admirari
Старый 31.08.2011, 22:06   #7  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,277 / 3476 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
В 3.0 и 4.0 было четкое ощущение, что откомпилированный код сохраняется в *.aod-файлах. Собственно - сам откомпилированный код можно увидеть в таблице UtilElements в поле Code. Точнее можно увидеть, что это BLOB-поле .

Когда обновляли версию слоями - то было все ок.

В 2009 обратил внимание на то, что после обновления слоем - возникает потребность в перекомпиляции слоя. Не знаю почему - но факт. Отсюда вывод - все же что-то в индексах хранится в 2009
__________________
Возможно сделать все. Вопрос времени
Старый 31.08.2011, 22:08   #8  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
672 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
В 3.0 и 4.0 было четкое ощущение, что откомпилированный код сохраняется в *.aod-файлах. Собственно - сам откомпилированный код можно увидеть в таблице UtilElements в поле Code. Точнее можно увидеть, что это BLOB-поле .
опаньки! стало быть, при компиляции что-то складируется в базу данных, и соответственно простым переносом горю не помочь!
__________________
Felix nihil admirari
Старый 31.08.2011, 22:11   #9  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
UtilElements, UtilIdElements - это псевдотаблицы.
Их нет в базе данных, а сами данные онb как раз берут из aod-файлов (или из кэша, если он есть).
Собственно, эти файлы и являются базой данных в специальном формате.

Насчет aoi-файла. Ну, это аналог обычных индексов в базе данных. Можно без них, но с ними намного быстрее
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: wojzeh (1).
Старый 31.08.2011, 22:11   #10  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от wojzeh Посмотреть сообщение
а зачем нужна повторная переиндексация в таком случае?
Её же делает AOS в момент запуска. А AOS теперь другой. Теоритически какие-нибудь отличия в версиях серверов или их настроек могут сыграть. А там кто его знает может и не нужна.
Старый 31.08.2011, 23:06   #11  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
У нас не было проблем с этим никогда. Был такой случай, когда отчет строился за 2 мин, вдруг стал строиться за 10 мин. Почистили статистику на SQL, и все встало на свое место
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 01.09.2011, 09:50   #12  
someOne is offline
someOne
Участник
Аватар для someOne
 
173 / 423 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
важно помнить одно - если копируется из каталога с работающей аксаптой, то индексы не скопируются или могут быть скопированы неправильно. нужно остановить все АОСы и только после этого копировать.
Вот такой батник использую для копирования из рабочего приложения в приложение разработки. При этом остановка АОС (исходного) не требуется. Все файлы, в том числе индексы - копируются. После копирования никакой переиндексации или компиляции не требуется. Получается полностью работоспособная копия "рабочего" приложения.

Нужна лишь синхронизация, если были изменения в словаре БД

X++:
set service="Dynamics AX Object Server 5.0$01-DynamicsAxDev"

set TODIR=C:\Program Files\Microsoft Dynamics AX\50\Application\Appl\proto\

set FRDIR=\\axserver\c$\Program Files\Microsoft Dynamics AX\50\Application\Appl\axapta\

net stop %service%

del "%TODIR%*.*" /Y

xcopy "%FRDIR%*.*" "%TODIR%"  /f /Y

net start %service%

pause 0

Последний раз редактировалось someOne; 01.09.2011 в 09:53.
За это сообщение автора поблагодарили: wildguess (1).
Старый 12.09.2011, 08:12   #13  
Sergikrus is offline
Sergikrus
Участник
 
82 / 15 (1) ++
Регистрация: 26.09.2008
Адрес: Tyumen
Ребята, вопрос по существу .
AX 2009. Опустил разработку с usr слоя на слой ниже, предваритель удалив эту разработу с usr, откомпилировал, обновил перекрёстные ссылки, перезапустил AOS, но размер usr слоя осталcя прежним. По идеи слой должен уменьшиться, если удалить с него изменения. Я что то не то сделал, что то пропустил?
Старый 12.09.2011, 10:39   #14  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Удаленные объекты из aod-файлов не удаляются. Размер aod-файла никогда не уменьшается.
__________________
С уважением,
Олег.
За это сообщение автора поблагодарили: Logger (3), Sergikrus (1).
Старый 12.09.2011, 11:58   #15  
Sergikrus is offline
Sergikrus
Участник
 
82 / 15 (1) ++
Регистрация: 26.09.2008
Адрес: Tyumen
Есть ещё один небольшой вопрос.

Получили разработку выгруженнцю в *.xpo, накатил на слой usr, протестировал. Настало время опустить разработку на слой ниже, а конкретно на BUS. В приложении для разработок после наката на слой и после рестарта AOS получил несколько ошибок от класса Info и Application, но всё поченилось глобальной компиляцией.

Следующим этапом необходимо перенести на тестовое приложение слой с этой разработкой (это давняя практика и ничего не хорошего не случалось).

После подставки слоя, AOS стартанул после 3 попытки, а при запуске приложения получаю теже ошибки что и на приложении для разработок, но в этом случае вприложение завершается и откомпилировать ничего не выходит. Как быть?

Вот ошибки что возникают при старте приложения:
Название: 1.jpg
Просмотров: 994

Размер: 20.5 Кб
Название: 2.jpg
Просмотров: 787

Размер: 19.5 Кб
Название: 3.jpg
Просмотров: 949

Размер: 22.0 Кб
Старый 12.09.2011, 15:06   #16  
Mykola Galak is offline
Mykola Galak
Участник
 
40 / 39 (2) +++
Регистрация: 24.01.2008
Адрес: Copenhagen
Цитата:
Сообщение от oip Посмотреть сообщение
Удаленные объекты из aod-файлов не удаляются. Размер aod-файла никогда не уменьшается.
На чем базируется утверждение?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
разная скорость компиляции приложения wojzeh DAX: Администрирование 19 05.09.2011 09:05
axforum blogs: Трудности перехода: опыт переноса модификаций с AX 3.0 SP5 EE на AX 2009 SP1 RU5 EE Blog bot DAX Blogs 0 19.07.2011 03:14
Финансовые проводки по журналу "Перенос" (AX 2009) MrVlasoff DAX: Функционал 16 22.03.2010 11:32
перенос приложения kitty DAX: Администрирование 8 04.07.2006 13:08
Перенос номенклатуры со склада на склад efim DAX: Функционал 4 04.04.2003 13:56

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:16.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.