Cannot transliterate character between character sets

Запросы, планы, оптимизация запросов, ...

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

Ответить
Igor_fp
Сообщения: 8
Зарегистрирован: 14 мар 2005, 12:03

Cannot transliterate character between character sets

Сообщение Igor_fp » 20 янв 2006, 09:03

Здравствуйте. Помогите, пожалуйста.
В обыкновенном запросе выдается:

Arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets
Statement: select * from specpau where anumb='009025'

В charset и collate поля anumb стоит win1251.
Но все равно выдается такое сообщение.
Что делать?
Спасибо.

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

Сообщение kdv » 20 янв 2006, 10:06

три раза прочитать www.ibase.ru/devinfo/ibrusfaq.htm

Igor_fp
Сообщения: 8
Зарегистрирован: 14 мар 2005, 12:03

Сообщение Igor_fp » 20 янв 2006, 11:18

Сработало:
select * from specpau where anumb COLLATE PXW_CYRL='009025'
Спасибо!

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

Сообщение kdv » 20 янв 2006, 11:28

что-то не то у тебя сработало, судя по исходному письму.

Igor_fp
Сообщения: 8
Зарегистрирован: 14 мар 2005, 12:03

Сообщение Igor_fp » 20 янв 2006, 11:46

Почему-то
select * from specpau where anumb COLLATE PXW_CYRL='009025'
срабатывает на базе где charset и collate поставлены на win1251,
а на базе где они <<none>> не срабатывает.
Надо повнимательнее почитать статью "О работе с русскими буквами в InterBase/Firebird".

Dioxin
Сообщения: 26
Зарегистрирован: 03 июн 2005, 08:35

Сообщение Dioxin » 01 фев 2006, 15:04

Была у меня подобная штука...
Хотел даж переставить сервер :shock:
А оказалось все просто до немогу...
При создании указал ВИН1251 а в ИБДатаБазе этого не указал.
А сервак сам не догадался :evil:

Ответить