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
|