2008-12-08 2 views
2

Я поместил приложение Delphi 6 в Delphi 2007 и использует BDE для подключения к базе данных Oracle 9i. Я получаюORA-01426: исключение с числовым переполнением при выполнении хранимой процедуры

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

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

Приложение старого Delphi 6 работает отлично.

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

+0

В вашем вопросе не хватает деталей. Можете ли вы показать исходный код хранимой процедуры? Ошибка, возникающая из хранимой процедуры или когда вы ее вызываете? Об этом можно узнать из номера строки Oracle. – 2008-12-09 02:24:53

+0

Сохраненная процедура довольно сложная, и я не думаю, что это вызвало проблему (поэтому я не использовал тег Oracle). Когда я запускаю приложение, он прерывается случайным образом, бросая ORA-01426: числовое исключение переполнения. Если Я перезапускаю приложение или вручную выполняю сохраненный процесс, ошибка не возникает. – user9977 2008-12-09 20:00:43

+0

Пробовал ли отслеживать вызовы с помощью SQL Monitor на стороне BDE? И вы пытались активировать трассировку Oracle, чтобы узнать, что действительно отправлено Oracle? – 2011-07-05 21:34:11

ответ

2

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

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

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

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

0

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

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

Смежные вопросы