Re: ORA-01722

From: Alex Filonov <afilonov_at_yahoo.com>
Date: 23 Apr 2002 07:58:59 -0700
Message-ID: <336da121.0204230658.69355957_at_posting.google.com>


forlist2001_at_yahoo.com (kumu) wrote in message news:<a44abd39.0204220757.592e8967_at_posting.google.com>...
> The application uses SQL*net to connect to the server. Right now it is
> just one machine and I cannot identify anything different in this
> machine than other machines. French why did they have to write
> differently than us or why do we write differently than French. :)
>

Do you know if that application is 16-bit by chance? If so, it doesn't use registry to determine NLS environment. It would use a special file, which is usually referenced in win.ini. Name is either oracle or poracle.

>
> afilonov_at_yahoo.com (Alex Filonov) wrote in message news:<336da121.0204120709.13f6368e_at_posting.google.com>...
> > forlist2001_at_yahoo.com (kumu) wrote in message news:<a44abd39.0204111158.3146deb_at_posting.google.com>...
> > > Thank you Alex. I tried the instructions you gave and it is returning
> > > for select 3/2 from dual value as 1.5 so the delimiter is (.) I will
> > > try the registry also but its the problem with all the number so... :)
> > > . I also have turned the application settings to put (,) as decimal
> > > delimiter and it seems to work but now problem is Win 2000 does not
> > > work... I am like confused why Win2K will work other way than WinNT.
> > > Thanks Alex once again
> > > Kumu
> >
> > 1. Have you tried select 3/2 from dual from the same machine your application is
> > running on? Oracle uses client settings to detect NLS parameters.
> > 2. If your application works with (,) as a delimiter, apparently it uses
> > different NLS settings than sqlplus. Strange...
> > 3. Win2K may work differently from WinNT because registry is different. Or may
> > be because your application settings are different.
> > By the way, how is you application connected to Oracle? Through SQL*Net or ODBC?
> >
> > >
> > > afilonov_at_yahoo.com (Alex Filonov) wrote in message news:<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 Tue Apr 23 2002 - 16:58:59 CEST

Original text of this message