Re: ORA-01722

From: kumu <forlist2001_at_yahoo.com>
Date: 22 Apr 2002 08:57:34 -0700
Message-ID: <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. :)

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 Mon Apr 22 2002 - 17:57:34 CEST

Original text of this message