Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.06.20;
Скачать: [xml.tar.bz2];

Вниз

Что за ошибка такая?   Найти похожие ветки 

 
diww   (2002-05-28 15:37) [0]

EDBEngineError: General SQL Error: arithmetic exception, numeric overflow or string truncaction. Cannot transliterate character between character sets.
Происходит во время Query.Open. В запросе - select .. from .. where .. order. В Query есть несколько вычисляемых полей. Когда-то давно все работало. Сейчас пробовал на 2-х компах - выдает эту ошибку. Если удалить все поля в Query ошибка остается.
Как с этим бороться?


 
Johnmen   (2002-05-28 15:43) [1]

Убей Query и создай его заново...


 
Nikolay M.   (2002-05-28 17:02) [2]

А текст запроса из SQL Explorer выполняется? Если да, то действительно пересоздай Query, если нет, коцай текст запроса до тех пор, пока не заработает...

ЗЫ
по-моему, надежнее делать не
Query.Open, а
Query.Active := False;
Query.Active := True;
так не рискуешь получить ексепшн, если Query уже открыта...


 
Johnny Smith   (2002-05-28 17:17) [3]

IB возвращает такую ошибку, когда идет попытка поместить некое значение в переменную меньшей длины. Я в свое время сталкивался с ней, когда в хранимой процедуре переменной, скажем, строковой с длиной в 30 символов присваивалось значение поля длиной в 50 символов (Varchar). Причем если оно было меньше или равно 30 симв., то все проходило на "ура", что не позволило "с лету" разобраться в ситуации.


 
Johnmen   (2002-05-28 17:22) [4]

>Johnny Smith ©

Если быть чуточку внимательней, то в вопросе указан select ...


 
Johnny Smith   (2002-05-28 17:30) [5]

А вы не в курсе, что в IB обращение к SP также может идти через select ?


 
Johnmen   (2002-05-28 17:45) [6]

>Johnny Smith © (28.05.02 17:30)

В курсе....Да только автор об этом не упоминал....
(И вообще, не надо мне выкать - не люблю...:))))



 
diww   (2002-05-28 17:58) [7]

Разобрался в чем причина проблемы.
Возникает она ещё на стадии создания одной из View. При попытке ее просмотра через SQL Explorer появляется то же сообщение.
В View есть поле задаваемое как обьединение нескольких полей бд (field1 || field2 || field3). Если убрать одно из этих полей, то вьюшка нормально создается (а прорамма дальше работает криво). Так что, наверное, Johnny Smith © (28.05.02 17:17) прав насчет длин переменной.
Но раньше как-то ведь работало (Давно и на другом компе). Наверное, можно как-то настроить максимальный размер поля?
Подскажите, плиз!


 
Praco   (2002-05-28 18:09) [8]

Johnny Smith © (28.05.02 17:17)
Прав, однозначно.
Например, одно из полей в select, типа char(20)
преобразовывается в cast(field as char(10))
Если есть поля реально длинее 10 - будет ошибка. Если нет - запрос пройдет. SQL Explorer такие записи (>10) не покажет, WISQL - даст ошибку. В IB старше 4.21 не проверял.
Иногда эта ошибка выскакивала у меня при непонятных сбоях IB(похоже, сетка глючила).

diww (28.05.02 17:58)
Возможно, поля разных типов - char, varchar


 
Val   (2002-05-28 19:15) [9]

а может дело в неверно указанной кодировке?



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.06.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
3-64927
Voldemar
2002-05-11 19:48
2002.06.20
Запрос суммы из кучи таблиц...


6-65196
Rammst
2002-04-13 08:56
2002.06.20
Закачка E-mail ов


1-65133
MIRALATTE
2002-06-07 12:00
2002.06.20
Кто-нибудь ставил иконку в трей с помощью компонента в Windows95


1-65039
bmai
2002-06-09 18:08
2002.06.20
2 вопроса по Hint -ам


1-65072
Alexy
2002-06-10 12:22
2002.06.20
Как распечатать TImage???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский