Page 1 of 1

ORA-01722: INVALID NUMBER

Posted: Mon 27 Aug 2007 18:04
by DaviWall
I'm migrating from Borland Oracle Dbexpress driver to CrLab's Oracle DbExpress driver.

So I'm using Oracle 10G the same as my customer. Everytime I will insert or update numeric floating data I get this error(invalid number). It only happens with my customer. It doesnt happen in my PC. (I cant reproduce the error)

Trying to solve the problem lead me to create a monitor enviroment to track this error. Finally I found out whats causing the problem. CRLab's driver is using COMA instead of DOT for floating point values.
Example: Customer's PC -> saving as an insert parameter 10,53
My PC -> 10.53

In my application in the ON CONNECT EVENT I'm sending this command to ORACLE database
ALTER SESSION SET NLS_NUMERIC_CHARACTERS='.,'

I also checked Windows Regional Settings, it all checks with my customer settings. So in theory everything should be fine, but its not!

I didnt have this problem using Borland's oracle dbexpress and I think it must be some kind of configuration problem.

I hope you guys can help me

Posted: Tue 28 Aug 2007 09:00
by Plash
Please provide the Pascal code you are using to insert numbers.
Also supply us the following information
- exact version of DbxOda including build number (see Oracle | About DbxOda in the IDE menu);
- exact version of Delphi, C++Builder or Kylix.