Dmitri Kuzmenko пишет:

Поле TRACES.STATNAME типа VARCHAR(20) WIN1251

а вот тут интересно.

NONE). Перезаливаю данные со старой базы в новую. При перезаливке кодировка при коннекте к базе указывается NONE как для источника, так и для приемника.

тут ты и попал. при коннекте указывается тот чарсет, в котором хранятся
данные. Раз столбец 1251, то значит и при коннекте должно быть 1251.
Иначе

Не спасло, однако.

Продолжая эксперименты, выяснил, что будучи выполнен отдельно, вне контекста процедуры, запрос

SELECT ...
    FROM EVRYRAICE
          ...
         left JOIN TRACES ON (EVRYRAICE.NAPCOD = TRACES.NAPCOD)
    WHERE
         (TRACES.STATNAME = :STATIONNAME) AND
          ...

нормально выполняется. А в процедуре, в обрамлении FOR DO, по-прежнему приводит выполнение процедуры к ошибке. А вот в процедурном отладчике IBExpert'a выполняется опять же нормально, видимо т.к. вне процедуры запрос нормально работает.

--
Regards,
Ovchinnikov Vasily
ova at tkvc ru

Ответить