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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.12.2011, 10:36   #10  
wolfstein is offline
wolfstein
Axapta Retail User
Axapta Retail User
 
51 / 91 (4) ++++
Регистрация: 05.07.2006
Цитата:
Сообщение от imir Посмотреть сообщение
Если можно, то как?
Можно включать трассировку запросов с сохранением в таблицу на время выполнения запроса, т.е. перед выполнением запроса включить, а после выполнения отключить. А потом попытаться найти в SysTraceTableSQL соответствующую запись с текстом запроса на T-SQL.

Однако для этого случая нужно хотя бы один раз выполнить запрос. И не всегда точно удастся идентифицировать твою запись в таблице SysTraceTableSQL.

X++:
static void Job60(Args _args)
{

    UserInfo                    userInfo;
    Query                       Query;
    QueryRun                    QueryRun;
    QueryBuildDatasource        qbds;
    SysTraceTableSQL            sysTraceTableSQL;
    SysTraceTableSQLTabRef      sysTraceTableSQLTabRef;

    void setTrace(boolean _set)
    {
        ;

        ttsbegin;

        userInfo.selectForUpdate(true);
        userInfo.reread();

        if (userInfo)
        {
            if (_set)
            {
                if (!((UserInfo.DebugInfo & (1 << 8)) >> 8))
                {
                    userInfo.debugInfo = userInfo.DebugInfo | (1 << 8);
                }
                if (!((UserInfo.TraceInfo & (1 << 3)) >> 3))
                {
                    userInfo.TraceInfo = userInfo.TraceInfo | (1 << 3);
                }
            }
            else
            {
                if ((UserInfo.TraceInfo & (1 << 3)) >> 3)
                {
                    userInfo.TraceInfo = userInfo.TraceInfo ^ (1 << 3);
                }
                if ((UserInfo.DebugInfo & (1 << 8)) >> 8)
                {
                    userInfo.debugInfo = userInfo.DebugInfo ^ (1 << 8);
                }
            }

            userInfo.update();
        }
        ttscommit;

        infolog.getUserSetup().setUserSetup(userinfo);
    }
    ;

    Query = new Query();
    qbds = Query.addDataSource(tableNum(InventTable));
    qbds.addRange(fieldNum(InventTable, ItemId)).value("123, 124");

    qbds = qbds.addDataSource(tableNum(InventTableModule));
    qbds.addRange(fieldNum(InventTableModule, ModuleType)).value(queryValue(ModuleInventPurchSales::Invent));
    qbds.addLink(fieldNum(InventTable, ItemId), fieldNum(InventTableModule, ItemId));
    qbds.joinMode(JoinMode::ExistsJoin);

    QueryRun = new QueryRun(Query);

    select firstonly userInfo where userInfo.Id == curuserid();

    setTrace(true);
    
    QueryRun.next(); // выполнение запроса
    
    setTrace(false);

    select firstonly systracetablesql
        order by CreatedDateTime desc
        where systracetablesql.createdBy == curuserid()
            &&systracetablesql.createdDateTime >= DateTimeUtil::newDateTime(systemdateget(),0)
            &&systracetablesql.createdDateTime <= DateTimeUtil::newDateTime(systemdateget(),str2time('23:59:59'))
        exists join sysTraceTableSQLTabRef
            where sysTraceTableSQLTabRef.TraceRecId == systracetablesql.RecId
                &&(sysTraceTableSQLTabRef.TraceTabId == tablenum(InventTable)
                    || sysTraceTableSQLTabRef.TraceTabId == tablenum(InventTableModule));
                
    info(systracetablesql.Statement);
}

Может быть будет еще вот эта тема полезна Как убрать знаки вопроса в мониторе запросов SQL?.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: Reporting Extensions Installation Fails to install on SQL 2008 Reporting services after applying 959494 and 957312 Blog bot DAX Blogs 1 23.06.2011 14:27
axinthefield: SQL Server Trace Flags for Dynamics AX Blog bot DAX Blogs 0 23.11.2010 21:11
Connection к другому SQL Server Poleax DAX: Программирование 5 19.10.2010 10:49
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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