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

Вниз

Ошибка Arithmetic exception, numeric overflow, or string truncati   Найти похожие ветки 

 
Novicer   (2014-03-09 14:27) [0]

Здравствуйте! После смены кодировки полей базы Firebird на Utf8, при сохранении инфы с помощью хранимки в базу получаю ошибку Arithmetic exception, numeric overflow, or string truncation В настройках подключения IbDataBase также указал Utf8. Данные внесенные в IbExpert вручную в базу отображаются правильно, без крякозябр :) а вот сохранить в базу не выходит :( хотя при Win1251 все работало без ошибок.


 
Novicer   (2014-03-09 14:40) [1]

Может надо еще где Utf8 прописать или для полей в другой кодировке надо больше длинну указывать в базе? :/


 
Novicer   (2014-03-09 14:56) [2]

При смене кодировки базы на Utf8 надо обьявлять строковые переменные уже как WideString или можно оставить String?


 
Novicer   (2014-03-09 15:03) [3]

На ibase.ru прочитал что и текст Sql-запроса надо приводить к новой кодировке, но как это сделать не описано :(


 
Novicer   (2014-03-09 15:58) [4]

Нашел что ошибка вылетает и при выполнении любого запроса в параметрах которого кирилица :(


 
Inovet ©   (2014-03-09 16:25) [5]

> [2] Novicer   (09.03.14 14:56)
> WideString

Это не UTF-8


 
Inovet ©   (2014-03-09 16:29) [6]

> [3] Novicer   (09.03.14 15:03)
> На ibase.ru прочитал что и текст Sql-запроса надо приводить
> к новой кодировке, но как это сделать не описано :(

Far есть? Блокнот есть? RAD studio есть? Чё-то-там ещё есть? На ibase.ru должны были написать иструкции ко всем этим программам? Какой запрос, где он этот запрос?


 
Novicer   (2014-03-09 16:37) [7]

Обычный запрос на выборку полей соответсвующих указанному параметру. В win1251 работает без проблем. После смены кодировки полей базы, если в параметре запроса вылетает вышеуказанная ошибка. Еще заметил несмотря на смену в рег.инфо базы кодировки на Utf8, если в таблице лобавлять поле явно не указывая кодировку, то назначается win1251. Узнал что надо изменить кодировку в системной таблице, чтобы автоматом ставило Utf8, но где эта таблица в IbExpert найти не могу :(


 
Inovet ©   (2014-03-09 16:48) [8]

А что
create database default character set
не выставляет что ли?


 
Novicer   (2014-03-09 18:22) [9]

Create database в эксперте приводит к ошибке :(


 
Novicer   (2014-03-09 18:45) [10]

Я не хочу создать новую базу, нужно просто сменить кодировку если можно. Создание с нуля займет много времени... :(


 
Inovet ©   (2014-03-09 18:49) [11]

> [10] Novicer   (09.03.14 18:45)
> Создание с нуля займет много времени... :(

Создать скрипт и выполнить его, предварительно исправив кодовую страницу. Очень много времени. Данных же нет в ней?


 
Inovet ©   (2014-03-09 18:56) [12]

http://www.firebirdsql.su/doku.php?id=alter_character_set


 
Novicer   (2014-03-09 19:42) [13]

И таблиц и данных дофига... :( После смены кодировки полей не могу добавлять данные кирилицей в таблицы,получаю ту же ошибку и в IbExpert. Создал для пробы новую базу с одной таблицей с UTF-полями, все нормально  в Эксперте данные добавить можно без ошибок, а в старой базе фиг :(


 
Novicer   (2014-03-09 19:47) [14]

Выполнил в SQL-редакторе
ALTER CHARACTER SET UTF8
 SET DEFAULT COLLATION UTF8;
Прошло без ошибок, но при добавлении данных вручную в Эксперте получаю
Incompatible column/host variable data type.
Dynamic SQL Error.
SQL error code = -303.
arithmetic exception, numeric overflow, or string truncation.
string right truncation.

[0054488E] FIB.IBError (Line 533, "FIB.pas" + 55) + $2


 
Novicer   (2014-03-09 20:06) [15]

Можно как-то создать новую базу в кодировке UTF8 и потом импортировать в нее инфу из старой?


 
Novicer   (2014-03-09 20:08) [16]

Может скинуть все в скрипт и выполнить потом в новой базе так чтобы осталась UTF8?


 
DVM ©   (2014-03-09 22:24) [17]


> Novicer   (09.03.14 20:08) [16]
> Может скинуть все в скрипт и выполнить потом в новой базе
> так чтобы осталась UTF8?

Можно попробовать, если база не очень большая.


 
Novicer   (2014-03-10 00:28) [18]

Как это сделать? Сохранить хоть таблицы и процедуры, для импорта в новую базу в Utf8-кодировке, данные потом закину...


 
Novicer   (2014-03-10 00:46) [19]

Сделал сразу глупость что изначально не задал utf8-кодировку базе, а теперь не оч.хочется ваять все таблицы и хранимки с нуля....


 
Inovet ©   (2014-03-10 00:50) [20]

Так в ИБЭксперт где-то есть это, в смысле - скрипт на базу. Вроде, и данные можно так же.


 
Inovet ©   (2014-03-10 00:52) [21]

> [20] Inovet ©   (10.03.14 00:50)

Да и вообще в нём много чего было. Может, и данные можно без скрипта перекинуть.


 
Inovet ©   (2014-03-10 00:56) [22]

Скрипт так и вообще должен всяким штатными (даже) консольными утилитами делаться. Ищи.


 
DVM ©   (2014-03-10 16:20) [23]


> Novicer   (10.03.14 00:28) [18]
> Как это сделать?

Экспортируешь базу в SQL файл вместе с данными. Получишь текстовый файл по сути в котором ты кодировку можешь поменять проще простого на какую захочешь ну и в самом скрипте заменить кодировку на нужную. IBExpert все это умеет.


 
Novicer   (2014-03-10 19:34) [24]

Как сделать экспорт? Что-то не могу найти.... :(


 
RWolf ©   (2014-03-10 23:44) [25]

Extract Metadata.


 
Novicer   (2014-03-11 12:20) [26]

Скрипт сделал,кодировку подправил, после выполнения востанавливается все кроме данных :( вот бы их ыше как-нить перебросить... А вот как?


 
Novicer   (2014-03-11 12:43) [27]

Нашел! :) теперь все Ок... Всем спасибо, все работает как хотел!



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

Форум: "Начинающим";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.058 c
15-1416432603
Юрий
2014-11-20 00:30
2015.09.10
С днем рождения ! 20 ноября 2014 четверг


15-1415822458
Dennis I. Komarov
2014-11-12 23:00
2015.09.10
маленький http


2-1395675878
SKIPtr
2014-03-24 19:44
2015.09.10
как получить формат DateTime из двух DateTimePicker


2-1390997184
JohnKorsh
2014-01-29 16:06
2015.09.10
Удаление файла средствами Delphi


15-1412754599
ProstoTak
2014-10-08 11:49
2015.09.10
Программа CamFind - это нечто





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский