Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.09.10;
Скачать: CL | DM;

Вниз

Ошибка 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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.08 c
15-1415042821
Kerk
2014-11-03 22:27
2015.09.10
HTTP 400


15-1416914908
Кто б сомневался
2014-11-25 14:28
2015.09.10
Очечи и линзы


15-1416228660
jack128
2014-11-17 15:51
2015.09.10
У кого есть Delphi > XE4, проверьте багу


15-1417080359
alexdn
2014-11-27 12:25
2015.09.10
Приложение для андроид


6-1220336116
ilshat
2008-09-02 10:15
2015.09.10
Принадлежность группе пользователя в AD