Показать сообщение отдельно
Старый 20.07.2012, 10:18   #1  
Deepoint is offline
Deepoint
Участник
SAP
 
60 / 14 (1) ++
Регистрация: 01.04.2011
Записей в блоге: 1
Зависание клиента при выполнении запроса
Здравствуйте Уважаемые.
Прошу Вашей помощи, т.к. свои идеи кончились.

Два АОС-а, настроены идентично, данные так же одинаковы.
Ax 4.0, ядро - 4.0.2503.756, приложение - 4.0.2501.347
SQL 2005.
В качестве примера кода Job:

X++:
static void TestQuery(Args _args)
{
    Query                            q = new Query();
    QueryRun                      qr;
    QueryBuildDatasource    qbdsInventTrans;
    QueryBuildDatasource    qbdsSalesTable;   
    ;

    qbdsSalesTable          = q.addDataSource(tablenum(SalesTable));
    qbdsSalesTable.addRange(fieldnum(SalesTable, ShippingDateConfirmed)).value(strfmt("(ShippingDateConfirmed <= %1)", date2strxpp(16\07\2011)));

    qbdsInventTrans         = qbdsSalesTable.addDataSource(tablenum(InventTrans));
    qbdsInventTrans.addLink(fieldnum(SalesTable, SalesId), fieldnum(InventTrans, TransRefId));

    qbdsInventTrans.addRange(fieldnum(InventTrans, TransType)).value(SysQuery::value(InventTransType::Sales));
    qbdsInventTrans.addRange(fieldnum(InventTrans, StatusIssue)).value(SysQuery::range(StatusIssue::ReservPhysical, StatusIssue::OnOrder));

    qbdsInventTrans.joinMode(JoinMode::InnerJoin);
    qbdsInventTrans.fetchMode(QueryFetchMode::One2One);

    qr = new QueryRun(q);

    while(qr.next())
    {
	info("Do something...");
    }
}
Запрос срабатывает на одном АОС-е, на другом нет. Зависает на строке while(qr.next()). При этом клиент повисает, в шапке окна клиента пишет «Не отвечает».
Cессия остается в списке активных в аксапте. В SQL сессия находится в состоянии «Running». Ждал около часа результата. Безрезультатно. На другом АОС запрос выполняется сразу.
Глобальная перекомпиляция, переиндексация, очистка кэша не помогла.
Подскажите в каком направлении копать. Буду весьма признателен за любую помощь.

Последний раз редактировалось Deepoint; 20.07.2012 в 10:33.