ORA-01426: numeric overflow exception when executing stored procedure

user9977 picture user9977 · Dec 9, 2008 · Viewed 7.1k times · Source

I ported a Delphi 6 application to Delphi 2007 and it uses BDE to connect to an Oracle 9i database. I am getting an

ORA-01426: numeric overflow exception

When I execute a stored procedure. This happens randomly and if I re-run the stored procedure through the application with the same parameters the exception does not occur.

The old Delphi 6 application works just fine.

Ideas anybody?

Answer

Argalatyr picture Argalatyr · Dec 9, 2008

Showing a code example could make this easier, but here are a couple of hunches:

  1. Are the data coming from another source (like Excel) that does not have explicit data types? Mixed or ambiguous data may be causing BDE to assign the wrong data type to a field that then is incompatible with the database field.

  2. Could be a numeric formatting issue (some U.S.-centric components do not handle localization properly). Is your localization other than English(U.S.)? Is so, does changing it to English(U.S.) fix the problem?

If these completely miss, more details might help.