21.06.2012, 15:14 | #1 |
Участник
|
Переход с 3.0 на 2009, проблема с выравниваниями.
Сейчас имеется приложение на 3-ке, сильно модифицированное. В соответствие к нему приведено приложение на 2009. Выравнивания на определённых типах необходимо оставить вправо - иначе на ItemId и пр. слетит сортировка. И вроде бы всё ок, но по каким-то причинам иногда запросы на SQL идут с обрезанными строками, у которых убраны левые пробелы. Тестовый джоб, где запрос для поиска записи скопирован из функции на таблице, даёт такую картину: с клиента (в теле джоба) запрос отправляется как есть, вызов же табличной функции (с сервера, значится), приводит к тому, что на SQL идут строки, обработанные LTRIM. В настройках сервера галочка про LTRIM отключена.
Нет идей, как заставить Аксу во всех случаях отправлять запросы as is, без излишней оптимизации? P.S. Версия приложения SP1 RU6 Последний раз редактировалось Corel; 21.06.2012 в 16:31. |
|
21.06.2012, 16:01 | #2 |
Участник
|
Вот такой параметр Include LTRIM in all SELECT statements to remove leading space from right-aligned columns случаем не включен?
|
|
21.06.2012, 16:30 | #3 |
Участник
|
Цитата:
Сообщение от S.Kuskov
Вот такой параметр Include LTRIM in all SELECT statements to remove leading space from right-aligned columns случаем не включен?
Погоняли тестовые джобы. Если запускать запрос не в обрамлении ttsbegin / ttscommit, то обрезание идёт постоянно, естественно, запрос тупит. Если в транзакции - то ровно через раз. Прям как часы. Мистика. Последний раз редактировалось Corel; 21.06.2012 в 16:58. |
|
21.06.2012, 19:49 | #4 |
Участник
|
Может быть есть зависимость от месте где создан курсор - клиент/сервер. Такой анализ не пробовали делать ?
|
|
22.06.2012, 07:45 | #5 |
Участник
|
Цитата:
X++: flush myTable; |
|
Теги |
adjustment, ltrim, переход, ax2009 |
|
|