Объединение полей

Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать

Модераторы: kdv, dimitr

Ответить
Gall
Сообщения: 8
Зарегистрирован: 05 окт 2005, 14:48

Объединение полей

Сообщение Gall » 05 окт 2005, 14:57

мне нужно вставить пробел между двумя полями.
select s.name || ' ' || s.famil from sotryd s

сервер
Server Version: LI-V1.5.1.4481 Firebird 1.5
Server Implementation: Firebird/linux Intel
Service Version: 2
не хочет обрабатывать такой запрос (ни из IBExpert
ни через клиента), хотя если писать через консоль на самом
сервере этот запрос, то обрабатывает. Если данные на
инглише, то работает, если на русском то нет.

сервер Firebird-1.5.2.4731-Win32 с таким запросом работает
корректно.

Что делать? Хранимую процедуру не предлагайте.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: Объединение полей

Сообщение Dimitry Sibiryakov » 05 окт 2005, 15:46

Gall писал(а): Что делать?
Срочно читать FAQ по работе с русским языком c в плане установки правильного charset для соединения.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 05 окт 2005, 16:20

не хочет обрабатывать такой запрос
допустим, напрягшись можно понять как это он "не хочет". в другой раз пиши сообщение об ошибке, если хочешь чтобы тебе помогли.

Gall
Сообщения: 8
Зарегистрирован: 05 окт 2005, 14:48

Сообщение Gall » 05 окт 2005, 18:50

kdv писал(а): допустим, напрягшись можно понять как это он "не хочет". в другой раз пиши сообщение об ошибке, если хочешь чтобы тебе помогли.
пишет Arithmetic overflow or division by zero has occured.
arithmetic exception, numeric overflow or string truncation.
cannot transliterate character between character sets.

русский язык отображается верно, поэтому думаю дело не в настройках.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 05 окт 2005, 20:55

www.ibase.ru/devinfo/ibrusfaq.htm

читать внимательно.

1. база данных должна быть создана в win1251
2. таблицы и все остальное должно быть создано с коннектом lc_ctype=win1251 (хотя и не обязательно, главное чтобы столбцы приняли кодировку БД).
3. данные должны быть занесены с коннектом с lc_ctype=win1251

во всех остальных случаях - наблюдаемая тобой кривизна. операционка сервера БД или его версия (а также кодировка по умолчанию в операционке) никакого значения не имеют.

Ответить