Re: ORA-01722

From: Alex Filonov <afilonov_at_yahoo.com>
Date: 8 Apr 2002 11:23:03 -0700
Message-ID: <336da121.0204081023.787ca85e_at_posting.google.com>


forlist2001_at_yahoo.com (kumu) wrote in message news:<a44abd39.0204050816.3a553613_at_posting.google.com>...
> I checked the SQL query fired by the application and it has 4.5000 in
> the sql insert statement. Only thing I am not to sure about is because
> it is a mixed environment is OS changing/ interpreting Query
> differently...
> :)

I have an idea. What's value of NLS_LANGUAGE on your NT machine? You can find it in registry HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE. Check also if there is NLS_NUMERIC_CHARACTERS over there. It just might happen that 4.5000 is an illegal number for your NLS settings. For example, if decimal delimiter is comma (,) instead of dot (.) If you have sqlplus on your NT machine, you can do a quick check: select 3/2 from dual
It will print 1.5 for american locality (second word in NLS_LANGUAGE), but for some localities it prints 1,5. You'll find out your decimal delimiter on NT machine.

>
> afilonov_at_yahoo.com (Alex Filonov) wrote in message news:<336da121.0204032050.6ad8b531_at_posting.google.com>...
> > forlist2001_at_yahoo.com (kumu) wrote in message news:<a44abd39.0204021306.608e03b2_at_posting.google.com>...
> > > I have a Sun Solaris machine with Oracle 8.1.7.2 database and I am
> > > accessing it from the windows NT workstation French version. The
> > > application I am using is unable to populate the numeric fields in
> > > Oracle its generating ORA-01722 Error. The same application works fine
> > > in other scenario Do you have any suggestion what might be potential
> > > problem.
> > >
> > > Thanks a lot
> > > Kumu
> >
> > I bet your application puts character data into numeric fields. Oracle
> > can handle it if it can convert them into numbers. If not (they are
> > null, for example), you get 1722.
Received on Mon Apr 08 2002 - 20:23:03 CEST

Original text of this message