Showing results for 
Search instead for 
Do you mean 
Community Home Request Access Read Blogs Share Your Ideas Search Community View My Settings
Reply
New Member
Posts: 15
Registered: ‎03-05-2014

OLEDB Oracle & Numeric Values

Hello,

 

I am facing a strange situation: we are upgrading Client OS from XP to Win7/32. DB is Oracle 10g using OLEDB provider which basically works.

 

But one script failes as follows:

 

select sum(x) as x from ...

 

in WinXP it returns in debugger:

 

rs.Fields(x).Value = -12,34
isNumeric(rs.Fields(x).Value) = true
Test of isNumeric function:
isNumeric(1,2) = Wrong number of arguments...
isNumeric(1.2) = True

 

Win 7: 
rs.Fields(x).Value = -12,34
isNumeric(rs.Fields(x).Value) = false
Test of isNumeric function:
isNumeric(1,2) = Wrong number of arguments...
isNumeric(1.2) = True

 

 

So isNumeric returns false in Win 7. I guess it must have something to do with numeric settings in Oracle? (, or . as comma)

 

 

select * from nls_session_parameters returns exact same values for both systems in sqlplus. (NLS_NUMERIC_CHARACTERS = .,)

 

What I really find strange is, that if I change the NLS_NUMERIC_CHARACHTERS to something else, in sqlplus it works, in SLX this setting is ignored. (e.g: NLS_NUM..=#,  then sqlplus says 12#34, SLX still returns 12,34)

 

Is there a different setting for the Oracle OLEDB provider? Where?

 

 

Any idea what else that could be related to?

 

Thanks for any advice...

 

Marty