Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 arithmetic exception, numeric overflow, or string truncation (335544321) при работе с IBX  [new]
Cobalt747
Member

Откуда:
Сообщений: 2285
Есть утилита, генерирующая скрипт выгрузки данных
делает она тупо
qryTable := TIBQuery.Create(nil);
..
qryTable.UniDirectional := True;
qryTable.SQL.Text := 'Select from Tablename';
...
while not qryTable.Eof do
begin
  ...
  qryTable.Next;
end
и соответственно, пробегала по всей таблице.

Запустил я тут её на крупной таблице (60 полей с в том числе строками и блобами), и на 2807 записи получаю ошибку
arithmetic exception, numeric overflow, or string truncation (335544321)

прям на qryTable.Next;

Что удивительно, если поменять на qryTable.UniDirectional := False; - падает на точно той же записи.

Да, сервер FB 2.1.7 x32, среда Delphi XE5

Сообщение было отредактировано: 16 фев 21, 17:38
16 фев 21, 17:42    [22281768]     Ответить | Цитировать Сообщить модератору
 Re: arithmetic exception, numeric overflow, or string truncation (335544321) при работе с IBX  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31988

1. DDL таблицы покажи.
2. для отладки вместо SELECT * делай выборку по одному полю, так поймаешь "злодея".

Posted via ActualForum NNTP Server 1.5

16 фев 21, 17:46    [22281774]     Ответить | Цитировать Сообщить модератору
 Re: arithmetic exception, numeric overflow, or string truncation (335544321) при работе с IBX  [new]
Cobalt747
Member

Откуда:
Сообщений: 2285
Мимопроходящий,

полагаете, дело может быть в значении одного единственного поля?
16 фев 21, 17:57    [22281787]     Ответить | Цитировать Сообщить модератору
 Re: arithmetic exception, numeric overflow, or string truncation (335544321) при работе с IBX  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31988
тестируй
16 фев 21, 18:00    [22281791]     Ответить | Цитировать Сообщить модератору
 Re: arithmetic exception, numeric overflow, or string truncation (335544321) при работе с IBX  [new]
ъъъъъ
Member

Откуда:
Сообщений: 1804
Cobalt747>делает она тупо
Ты и не показал, что она делает. Select без полей, как у тебя?
16 фев 21, 18:07    [22281795]     Ответить | Цитировать Сообщить модератору
 Re: arithmetic exception, numeric overflow, or string truncation (335544321) при работе с IBX  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 12600
Cobalt747
2807
Скорее всего, что в 2807 записи есть значение строкового поля, которое не может быть сконвертировано в текущую кодировку подключения
16 фев 21, 18:32    [22281811]     Ответить | Цитировать Сообщить модератору
 Re: arithmetic exception, numeric overflow, or string truncation (335544321) при работе с IBX  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31988

вообще, FB даёт более развёрнутый текст ошибки.
если это конечно не архидревний IBX, хватающий только первый код ошибки из статус-вектора.

Posted via ActualForum NNTP Server 1.5

16 фев 21, 18:34    [22281815]     Ответить | Цитировать Сообщить модератору
 Re: arithmetic exception, numeric overflow, or string truncation (335544321) при работе с IBX  [new]
Cobalt747
Member

Откуда:
Сообщений: 2285
Мимопроходящий

вообще, FB даёт более развёрнутый текст ошибки.
если это конечно не архидревний IBX, хватающий только первый код ошибки из статус-вектора.

Вы хотите сказать, что можно из FB вытащить имя проблемного поля?
17 фев 21, 12:49    [22282179]     Ответить | Цитировать Сообщить модератору
 Re: arithmetic exception, numeric overflow, or string truncation (335544321) при работе с IBX  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31988

17.02.2021 12:49, Cobalt747 пишет:
> Вы хотите сказать, что можно из FB вытащить имя проблемного поля?

зависит от версии.

Posted via ActualForum NNTP Server 1.5

17 фев 21, 12:52    [22282183]     Ответить | Цитировать Сообщить модератору
 Re: arithmetic exception, numeric overflow, or string truncation (335544321) при работе с IBX  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31988

ты, кстати, свой запрос выполни в IBExpert'е.
он текст ошибки не обрезает.
(если версия IBExpert достаточно свежая)

Posted via ActualForum NNTP Server 1.5

17 фев 21, 13:00    [22282196]     Ответить | Цитировать Сообщить модератору
 Re: arithmetic exception, numeric overflow, or string truncation (335544321) при работе с IBX  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 62422
Мимопроходящий> ты, кстати, свой запрос выполни в IBExpert'е.

... и отфетчи до 2087й записи.

P.S. Видимо, Наталья нашла исполнителя.

Posted via ActualForum NNTP Server 1.5

17 фев 21, 13:03    [22282201]     Ответить | Цитировать Сообщить модератору
 Re: arithmetic exception, numeric overflow, or string truncation (335544321) при работе с IBX  [new]
Cobalt747
Member

Откуда:
Сообщений: 2285
Мимопроходящий

ты, кстати, свой запрос выполни в IBExpert'е.
он текст ошибки не обрезает.
(если версия IBExpert достаточно свежая)

IBexpert выдает ту же ошибку уже на 996-ой строке )))
но последняя запись такая же как при экспорте.
Так что возмонжо что и реально что-то там с данными, хотя запись вся ведется штатно

Upd.: проверил базу на ошибки, и получил
Summary of validation errors
Number of database page errors : 3
17 фев 21, 13:10    [22282218]     Ответить | Цитировать Сообщить модератору
 Re: arithmetic exception, numeric overflow, or string truncation (335544321) при работе с IBX  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 62422
Cobalt747> Так что возмонжо что и реально что-то там с
Cobalt747> данными, хотя запись вся ведется штатно

Это ошибка чтения/конвертации, не записи.

Может кто-то с полями игрался - тип менял, размерность, коллейт.

Posted via ActualForum NNTP Server 1.5

17 фев 21, 13:11    [22282221]     Ответить | Цитировать Сообщить модератору
 Re: arithmetic exception, numeric overflow, or string truncation (335544321) при работе с IBX  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 12600
Cobalt747
уже на 996-ой строке
Если в оба запроса добавить ORDER BY, то номера записей совпадут

Ну и, конечно же, можно просто выбрать одну эту проблемную запись, указав ее ID в WHERE
17 фев 21, 13:23    [22282233]     Ответить | Цитировать Сообщить модератору
 Re: arithmetic exception, numeric overflow, or string truncation (335544321) при работе с IBX  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31988

17.02.2021 13:10, Cobalt747 пишет:
> Summary of validation errors
> Number of database page errors : 3

ну дык йоу!
чини.
проверяй диск, смотри SMART-статистику

Posted via ActualForum NNTP Server 1.5

17 фев 21, 13:28    [22282244]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить