Имею элементарный параметризированный запрос:
|set nocount on
|select
| tmz.id [Номенклатура $Справочник.ТМЦ],
| rtrim(ltrim(tmz.descr)) [Наименование $Строка],
| rtrim(ltrim($tmz.КодТНВД)) [КодТНВД $Строка],
| rtrim(ltrim($tmz.НаименованиеАнгл)) [НаименованиеАнгл $Строка],
| rtrim(ltrim($tmz.ПолнНаименование)) [НаименованиеПолн $Строка]
|from
| $Справочник.ТМЦ tmz(nolock)
|where
| rtrim(ltrim(tmz.descr)) = ? and
| tmz.isfolder = 2
| and tmz.ismark = 0
|order by
| $tmz.КодТНВД desc,
| $tmz.НаименованиеАнгл desc,
| $tmz.ПолнНаименование desc
Длина поля descr 50 символов.
Длина поля КодТНВД 20 символов.
Длина поля НаименованиеАнгл 200 символов.
Длина поля ПолнНаименование 200 символов.
Довольно часто, время от времени запрос выдает ошибку: State 22001, native 0, message [Microsoft][ODBC SQL Server Driver]String data, right truncation
(или по русски: State 22001, native 0, message [Microsoft][ODBC SQL Server Driver]Усечение данных строки справа) и, ессно, на выходе результат нулевой, хотя элемент справочника с таким наименованием и заполненными требуемыми параметрами существует. Ошибка не плавающая, т.е. проявляется для одних и тех же конкретных элементов.
Не окажет ли любезность Великий АЛЛ просвятить в чем может быть проблема?