ORA-01426: исключение числового переполнения при выполнении хранимой процедуры - PullRequest
2 голосов
/ 09 декабря 2008

Я перенес приложение Delphi 6 на Delphi 2007, и оно использует BDE для подключения к база данных Oracle 9i. Я получаю

ORA-01426: исключение переполнения чисел

Когда я выполняю хранимую процедуру. Это происходит случайно, и если я повторно запустить хранимую процедуру через приложение с теми же параметрами исключение не происходит.

Старое приложение Delphi 6 работает просто отлично.

Идеи кто-нибудь?

Ответы [ 2 ]

2 голосов
/ 09 декабря 2008

Отображение примера кода может сделать это проще, но вот несколько догадок:

  1. Данные поступают из другого источника (например, Excel), который не имеет явных типов данных? Смешанные или неоднозначные данные могут привести к тому, что BDE назначит неправильный тип данных полю, которое затем несовместимо с полем базы данных.

  2. Возможно, проблема с числовым форматированием (некоторые компоненты в США не обрабатывают локализацию должным образом). Ваша локализация отличается от английской (США)? Так ли это, решение проблемы с его изменением на английский (США)?

Если они полностью отсутствуют, может помочь более подробная информация.

0 голосов
/ 10 декабря 2008

Использует ли версия D6 приложения одну и ту же версию BDE, Oracle и базы данных? Если это так, то это, вероятно, что-то в отношении передаваемых данных (либо контента, либо механизма).

Не зная, что это за данные, и как они передаются, довольно сложно диагностировать.

...