powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Arithmetic overflow... Проблема с длиной строки
14 сообщений из 14, страница 1 из 1
Arithmetic overflow... Проблема с длиной строки
    #39800695
PATRI0T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день..
Подскажите пожалуйста.
Вот, записываю в таблицу значение, которое является описанием ошибки (Err.Description возникающий после ошибки ADODB).
Пишу следующее
автор"Err:Не удается обновить запрос, поскольку он не содержит доступные для поиска столбцы, которые могут быть использованы в качестве ключевых."

в поле "FAIL_CAUSE". Длина сообщения 139 символов, само поле - varchar(500)
Кодировка по умолчанию win1251.. Пишу вроде как тоже ее. Пишет успешно, но при попытке в ibexpert просмотреть таблицу выводит это сообщение
авторArithmetic overflow or division by zero has occurred. arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets
При этом, если я обрезаю сообщение до 100 символов, то все нормально работает. Обрезал хоть слева, хоть справа, все равно..
Вроде даже в FAQ есть ( http://www.sql.ru/faq/faq_topic.aspx?fid=297), но что-то не помогает..
Скрипт таблицы:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE GENERATOR GEN_ORDER_STATUSES_ID;

CREATE TABLE ORDER_STATUSES (
    ID              INTEGER NOT NULL,
    ORDER_ID        INTEGER,
    MANAGER         VARCHAR(50),
    STATUSNUM       FLOAT,
    CURRENT_STATUS  SMALLINT,
    DESCRIPTION     VARCHAR(100),
    PROG_FULLPATH   VARCHAR(100),
    FAIL_CAUSE      VARCHAR(500),
    TIME_STAMP      TIMESTAMP,
    COMMENT         VARCHAR(200)
);



Что может быть не так?
...
Рейтинг: 0 / 0
Arithmetic overflow... Проблема с длиной строки
    #39800702
Dmitry Kurbsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PATRI0Tполе - varchar(500)

Давно стало 500? Как менял длину поля?
...
Рейтинг: 0 / 0
Arithmetic overflow... Проблема с длиной строки
    #39800836
AltHasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PATRI0T,

Тут наверное главное это
Код: plsql
1.
Cannot transliterate character between character sets



Мало информации.
- Версия FB/IB ?
- Рег.инфу подключения IBExpert (небось что-то типа UTF8, а нужно вам WIN1251).
- С каким CodePage создавалась БД ?
- Какой версии IBExpert (может с прошлого века)?
...
Рейтинг: 0 / 0
Arithmetic overflow... Проблема с длиной строки
    #39800888
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AltHasp- С каким CodePage создавалась БД ?
вот это что за вопрос такой? Вы в курсе, что "кодовая страница БД" это просто дефолт чарсета для новых строковых и блоб столбцов?
Смотреть надо чарсет столбца, а не базы.
...
Рейтинг: 0 / 0
Arithmetic overflow... Проблема с длиной строки
    #39801381
PATRI0T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Новые данные подъехали..
Все таки ошибка не в базе, а в IBExpert-e..
При обрезании строки проблем с выводом не возникает.. но это же не гоже так..

Код: sql
1.
2.
3.
4.
5.
6.
select
    os.id,
    os.time_stamp,
    os.comment,
  left(os.fail_cause,101) <================= Макс длина. При большей строке вылетает ошибка.
 from order_statuses os where os.id > 7400



IBExpert 2017.12.11.1
Firebird 2.5.1.26351
кодовая страница базы и полей таблицы одинаковая, WIN1251
настройки подключения IBExpert: Кодировка заблокирована, стоит WIN1251, набор символов экранного шрифта RUSSIAN_CHARSET

авторДавно стало 500? Как менял длину поля?

- нет, только делаю эту таблицу, Сначала была длина поля 200, потом при возникновении ошибки увеличил на 500, не помогло

Мои предположения: т.к. я пытаюсь записать текст сообщения об ошибке, может какая-то проблема с кодовой страницей этого текста? Может она в самом деле UTF8? И как тогда нужно подключаться к базе, чтобы не было проблем с этим?
Или я не туда думаю?
...
Рейтинг: 0 / 0
Arithmetic overflow... Проблема с длиной строки
    #39801402
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PATRI0TIBExpert 2017.12.11.1
первым делом надо было обновить.
PATRI0TМожет она в самом деле UTF8?
так посмотри.
...
Рейтинг: 0 / 0
Arithmetic overflow... Проблема с длиной строки
    #39801557
PATRI0T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это и был вопрос... а как посмотреть, что за строка?
Ее возвращает ADO... сохраняю как есть..
...
Рейтинг: 0 / 0
Arithmetic overflow... Проблема с длиной строки
    #39801602
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PATRI0T,

"посмотреть" имелось в виду в ibexpert. структуру таблицы, но так чтобы были видны чарсеты столбцов.
...
Рейтинг: 0 / 0
Arithmetic overflow... Проблема с длиной строки
    #39801680
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PATRI0Tа как посмотреть, что за строка?

Вывести (шестнадцатеричный) код каждого символа, а потом использовать глазки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Arithmetic overflow... Проблема с длиной строки
    #39801855
PATRI0T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В самой базе все правильно вроде...
PS. обновил IBExpert до 2019.4.14.. все равно
...
Рейтинг: 0 / 0
Arithmetic overflow... Проблема с длиной строки
    #39802157
AltHasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PATRI0T,

Вам же уже ответили.
1) Сохраните ваше "подозрительные строки" в файл в редакторе, который понимает юникод.
2) Посмотрите, что туда впихнуто, по-символьно или если вам не нужен юникод, конвертируйте в не-юникод и после отправьте (запишите) в базу.

Как-то так.
...
Рейтинг: 0 / 0
Arithmetic overflow... Проблема с длиной строки
    #39802160
AltHasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PATRI0T,

А может у вас в строке всякие #13#10#9 - символы ? И их вам надо кастрировать для надежности.
...
Рейтинг: 0 / 0
Arithmetic overflow... Проблема с длиной строки
    #39802169
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
16.04.2019 14:31, AltHasp пишет:
> А может у вас в строке всякие #13#10#9 - символы ? И их вам надо кастрировать для надежности.

иди на кошечках тренируйся, мечтатель
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Arithmetic overflow... Проблема с длиной строки
    #39802357
AltHasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как будищь гатовить щащлик из эта невеста - не забут пиригласит!
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Arithmetic overflow... Проблема с длиной строки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]