ORA-01722: INVALID NUMBER

Discussion of open issues, suggestions and bugs regarding usage of dbExpress drivers for Oracle in Delphi and C++Builder
Post Reply
DaviWall
Posts: 8
Joined: Mon 25 Jun 2007 20:34

ORA-01722: INVALID NUMBER

Post by DaviWall » Mon 27 Aug 2007 18:04

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

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Tue 28 Aug 2007 09:00

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.

Post Reply