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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.05.2009, 13:09   #1  
petr is offline
petr
Участник
Соотечественники
 
561 / 201 (8) ++++++
Регистрация: 30.05.2005
Адрес: Швейцария
Сейчас вот опять разбирались с ошибками insert_recordset.

Касательно DAX4.0 SP2 (SQL 2005 SP3).

Вставка из одной невременной таблицы в другую. Если есть группировка, то аксапта выдает ошибку SQL при включенном трейсинге запросов SQL (Параметры пользователя / SQL / SQL-Trace). Если его выключить, то все работает.

Это на первый взгляд, если будет время подготовлю более подробно описание.
Старый 05.05.2009, 12:02   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от petr Посмотреть сообщение
Сейчас вот опять разбирались с ошибками insert_recordset.

Касательно DAX4.0 SP2 (SQL 2005 SP3).

Вставка из одной невременной таблицы в другую. Если есть группировка, то аксапта выдает ошибку SQL при включенном трейсинге запросов SQL (Параметры пользователя / SQL / SQL-Trace). Если его выключить, то все работает.

Это на первый взгляд, если будет время подготовлю более подробно описание.
Хмм. В лоб не получилось воспроизвести на последней версии.
Возможно что-то забыли?

Генерируется такой запрос:
X++:
SQL statement: (Table1) SELECT A.ITEMID AS f1,N'mul' AS DATAAREAID,1 AS RECVERSION,IDENTITY(bigint,1,1) AS RECID INTO [#ax_tmp_mul3_52_0]  FROM INVENTTABLE A WHERE (DATAAREAID=N'mul') GROUP BY A.ITEMID ORDER BY A.ITEMID [ID=608, Reused=No]
Вот такой код:
X++:
static void Job1(Args _args)
{
    Table1 table1;
    Inventtable inventTable;
    ;
    delete_from table1;

    insert_recordset table1 (ItemId)
    select ItemId from inventTable
        group by ItemId;
}
Старый 05.05.2009, 12:17   #3  
petr is offline
petr
Участник
Соотечественники
 
561 / 201 (8) ++++++
Регистрация: 30.05.2005
Адрес: Швейцария
У меня сегодня на стандартной инсталяции у нас тоже не получилось воспроизвести. Хотя на инсталяции клиента ошибка выпадает. Видимо это еще от каких то настроек клиента / АОСа / БД зависит. Когда мы тут разберемся - я выложу результаты.
Старый 06.05.2009, 15:12   #4  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
376 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Доброго времени, суток!

Цитата:
Сообщение от kashperuk Посмотреть сообщение
Хмм. В лоб не получилось воспроизвести на последней версии.
Возможно что-то забыли?

Генерируется такой запрос:
X++:
SQL statement: (Table1) SELECT A.ITEMID AS f1,N'mul' AS DATAAREAID,1 AS RECVERSION,IDENTITY(bigint,1,1) AS RECID INTO [#ax_tmp_mul3_52_0]  FROM INVENTTABLE A WHERE (DATAAREAID=N'mul') GROUP BY A.ITEMID ORDER BY A.ITEMID [ID=608, Reused=No]
Вот такой код:
X++:
static void Job1(Args _args)
{
    Table1 table1;
    Inventtable inventTable;
    ;
    delete_from table1;
 
    insert_recordset table1 (ItemId)
    select ItemId from inventTable
        group by ItemId;
}
При стандартных настройках действительно ничего не наблюдается(по крайней мере у меня не получилось), однако после небольших изысканий имеем следующую картину :

Параметры пользователя\SQL\SQL Trace - установлена
Параметры пользователя\SQL\Query Plan должна стоять обязательно!!!
И установлен вывод запросов например в инфолог(Параметры пользователя\Multiply SQL Statements\Infolog)

Настройки АОСа:
1. Галка "Allow client tracing on Application Object Server instance" должна быть установлена.

После установки данных параметров и запуска Job1, на ниже приведенныx приложенияx

AX 4.0 Kernel version : 4.0.1633.10.0 Application version 4.0.1633.11
SQL 2005 Version 9.00.2047.00

AX 4.0 SP 2 EE Kernel version : 4.0.2501.116 Application version 4.0.2501.347
SQL 2005

возникает следующая ошибка

X++:
SQL Statement : /*SP*/ SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; INSERT INTO T1 (ITEMID,DATAAREAID,RECVERSION,RECID)SELECT F1,DATAAREAID,RECVERSION,RECID+5637148658 FROM #axapta_tmp_dmo53
Возможно данная проблема наблюдается и в AX 2009.

P.S. С галкой Параметры пользователя\SQL\Query Plan сталкиваюсь не первый раз, есть еще один баг с ней связанный(возможно наблюдается при включенной галке трассировки на АОСе)(AX 3.0 SP2 + Oracle 9),
суть в следующем : есть таблица, в ней есть поле типа Container, так вот если производить в ставку в эту таблицу, то при включенном мониторинге запросов и галке "План запроса"
возникает следующая ошибка : ORA-00932: inconsistent datatypes: expected NUMBER got BLOB, если галка "План запроса выключена", то все ок
Во вложении проект, который воспроизводит данную ошибку(после импорта, нужно установить галки и запустить job)
Вложения
Тип файла: xpo ORA_932_TEST.xpo (3.5 Кб, 134 просмотров)
За это сообщение автора поблагодарили: petr (3).
Старый 06.05.2009, 17:57   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от SRF Посмотреть сообщение
Параметры пользователя\SQL\Query Plan должна стоять обязательно!!!
Проверил оба сценария, нет ошибки...
АХ последний билд, SQL Server 2005, Win 2K3
Теги
insert_recordset, recordset, ax3.0, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вопрос по модулю Расчеты с персоналом. Выплата заработной платы. Keks DAX: Функционал 7 28.12.2009 10:31
Вопрос по созданию отчета asd1274 DAX: Программирование 6 05.12.2008 21:44
Вопрос по Проектам PSA DAX: Функционал 35 19.01.2007 22:26
Еще вопрос про покрытие по аналитикам в Сводном планировании rt2 DAX: Функционал 3 24.03.2006 18:56
расчеты с персоналом. НДФЛ. вопрос чайника shumelka DAX: Функционал 2 25.03.2004 11:36

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

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

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