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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.01.2005, 22:29   #1  
IlyaK is offline
IlyaK
Участник
 
2 / 10 (1) +
Регистрация: 12.01.2005
Адрес: г.Красногорск (Московской области)
? Объясните смысл глобальной компиляции..
Здравствуйте!
Сразу предупреждаю, что большого опыта администрирования/программирования Axapta нет - только учусь.
Расскажите в чем заключается смысл глобальной компиляции?
Насколько я понимаю - это что - то наподобие сборки программы из исходников.. Если это так, то перекомпиляция должна относиться только к аппликейшену.. К базе данных же относиться процедура перестройки перекрестных ссылок, построение индексов и тд.
Теперь расписываю ситуацию:
1) Создаю базу в MS SQL. Импортирую базу с определенным набором данных из сторонней Axapta 3.1, настраиваю ODBC;
2) Ставлю Axapa 3.1, Клиента;
3) Не запуская конфигурации устанавливаю SP3 (Правильно ли это? Надо ли ставить какие либо галочки при перестройке перекрестных ссылок - я не ставил..);
4) Запускаю Axapta и произвожу все действия из контрольного списка установки/обновления;
Вот теперь главный вопрос:
Если теперь на другом компьютере произвести действия 2 и 3, выгрузить базу из, подключить ее к свежеустановленному там же аппликейшену, то при первом запуске глобальной перекомпиляции не потребуется и вообще в контрольном списке все будет ОК..
Так заначит перекомпилированный аппликейшн выгрузился вместе с данными из СУБД? Тогда как он там хранится? Зачем тогда папка с аппликейшеном? Объясните плз.. Совсем запутался...
Старый 12.01.2005, 22:47   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Re: Объясните смыслг глобальной компиляции..
Цитата:
Изначально опубликовано IlyaK
Если теперь на другом компьютере произвести действия 2 и 3, выгрузить базу из, подключить ее к свежеустановленному там же аппликейшену, то при первом запуске глобальной перекомпиляции не потребуется и вообще в контрольном списке все будет ОК..
Так заначит перекомпилированный аппликейшн выгрузился вместе с данными из СУБД? Тогда как он там хранится? Зачем тогда папка с аппликейшеном? Объясните плз.. Совсем запутался...
Нет, выгрузилась информация о версии аппликейшена в системную таблицу.
то ли в sysConfig, то ли еще куда (на вскидку не помню, а рабочий комп... на работе)

Если номер билда http://axapta.mazzy.ru/hints/startupcmd/#SetBuildNo
в аппликейшене и в этой системной таблице совпадают, то Аксапта перекомпиляцию не просит.
Вроде бы так (буду рад, если кто поправит)

А вообще говоря, контрольный список очень тупой инструмент.
Просто отключите эти списки, если уверены что у вас установка правильная.


Что делает глобальная компиляция?
К сожалению, в Аксапте осталось устаревший инструмент - макросы.
При изменении макросов вполне возможна ситуация, когда потребуется перекомпиляция объектов. Причем из-за этих макросов системе очень сложно разобраться что именно надо перекомпилировать, поэтому Аксапта тупо предлагает перекомпилировать все.
Старый 12.01.2005, 23:52   #3  
IlyaK is offline
IlyaK
Участник
 
2 / 10 (1) +
Регистрация: 12.01.2005
Адрес: г.Красногорск (Московской области)
Спасибо за быстрый ответ!
Значит, в моем случае, аксапта установлена неправильно : перекомпиляция не была проведена и корректно аппликейшн работать не будет? Так?
Старый 13.01.2005, 11:41   #4  
ta_and is offline
ta_and
Участник
 
226 / 122 (5) +++++
Регистрация: 26.02.2002
Адрес: СПб
Глобальная компиляция нужна не только для корректной подстановки измененных макросов.
Эта процедура нужна также для разрешения(нахождения соответствующих точек входа) всех внутренних и внешних ссылок и актуализация ссылок на адреса внутренних и внешних переменных. Особенно это важно для многоуровневого наследования в классах. Так как класс-потомок (уже ранее скомпилированный) может совсем ничего не знать о том, что произошли изменения в классе-предке. И этот класс потомок может обращаться по адресам в памяти класса-предка, которые уже совсем не для того используются... Из за этого могут просходить ошибки времени выполнения которые грохают ахарту. Поэтому, также делается второй проход при Глобальной компиляции, чтобы разрешить перекрестные ссылки между классам.

2 IlyaK
Жизнеспособная комбинация в ахарте только одна.
1клиент соответствует 1аппликайшну подключенному к 1базе.
все другие комбинации рано или поздно приведут к нестабильной работе и краху приложения или базы.
Говоря про одного клиента я имею в виду ОДНУ ВЕРСИЮ клиента, а не одну инсталляцию для конечного юзера.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка во время глобальной компиляции dech DAX: Программирование 1 15.05.2013 09:12
клиент ax2012 валится при глобальной компиляции wojzeh DAX: Администрирование 5 27.05.2012 23:28
Ошибка после глобальной компиляции axalex DAX: Администрирование 7 13.01.2012 06:54
Объясните смысл проводки Eldar9x DAX: Функционал 8 24.11.2009 08:32
Нужны ошибки глобальной компиляции Vasilenko Alexsandr DAX: Программирование 7 22.10.2003 16:30

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:26.