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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.01.2008, 20:10   #1  
Blog bot is offline
Blog bot
Участник
 
25,643 / 848 (80) +++++++
Регистрация: 28.10.2006
aEremenko: DAX 2008, что нового во взаимодействии с БД?
Источник: http://blogs.msdn.com/aeremenk/archi...5/7118429.aspx
==============

Вообще-то, изменения между версиями можно характеризовать так:
  • 3.0 -> 4.0 Платформенные (технологические) изменения, развитие функциональности
  • 4.0 -> 5.0 Функциональные изменения, развитие платформенных решений
В данной статье посмотрим некоторые отличия во взаимодействии с базами данных.

Появилась поддержка сложных структур запросов, т.е. возможность создавать объединения не только типа родитель - наследник, но и более сложные, правда такие объединения можно делать только в структурах запросов.
Реализована поддержка union, правда не в коде X++, а только для структур запросов, например:
X++:
  query = new Query();
   query.queryType(QueryType::Union); // другим значением QueryType является "Join"
Появилась поддержка Inner join и outer join в UPDATE_RECORDSET, а также возможность возврата количества обработанных записей для UPDATE_RECORDSET и DELETE_FROM, например:
X++:
update_recordset batchJob setting
      Status = BatchStatus::Canceled,
      EndDateTime = thisDate,
      Finishing = 1
  where batchJob.Status == BatchStatus::Cancelling
  notexists join batch
  where (
          (batch.Status == BatchStatus::Ready
              || batch.Status == BatchStatus::Executing
              || batch.Status == BatchStatus::Hold
              || batch.Status == BatchStatus::Cancelling)
          && batch.BatchJobId == batchJob.RecId
          );  
  rowsUpdated = (batchJob.RowCount() > 0); // использование rowCount()
Реализована обработка исключений при дублировании уникального ключа, например:
X++:
   Table t;  
   try 
   {
       while select forupdate t
       {
           test.Field1 = ;
           t.update(); 
       }
   }  
   catch ( Exception::DuplicateKeyException, t ) 
   {
       infolog(   + t.Field1 );
   }
С точки зрения обмена данными между клиентом, сервером приложений и базы данных изменения коснулись также RunBase (уменьшение трафика при инициализации и упаковке), NumberSequences и дисплей-методов. Улучшение работы с дисплей-методами подразумевает их расчет в пакетном режиме на сервере и сохранении результата на клиенте, это выгодно отличается от текущей реализации с последовательным расчетом и передачей с сервера на клиента каждого метода.

Данная статья подготовлена с помощью Windows Live Writer.


Источник: http://blogs.msdn.com/aeremenk/archi...5/7118429.aspx
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
Теги
ax2009, что нового

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX: Why upgrade to SQL Server 2008 with DAX 2009? Blog bot DAX Blogs 0 16.10.2008 06:24
msdynamicsax: DAX 2009 and MS SQL 2008 Blog bot DAX Blogs 0 09.08.2008 14:05
aEremenko: Тестирование производительности в DAX 4.0 Blog bot DAX Blogs 0 12.03.2008 16:05
aEremenko: Что нового в Microsoft Dynamics AX 2008? Blog bot DAX Blogs 6 15.01.2008 11:36
aEremenko: Поддержка Microsoft SQL Server 2008 Blog bot DAX Blogs 0 04.10.2007 23:21

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

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

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