Hi all....
I was browsing the bugs of PB19 R2 and I noticed an Oracle related bug, that never occurred in my tests. I am talking about the Bug 4214.
We use PB + Oracle since 1996 and what we always do is to change the NLS_LANG parameters in Registry. This parameters is stored on Oracle Home (in my case is HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ORACLE\KEY_OraClient12Home1_32bit) since I use the 32bit version of Oracle client.
So, in order for IDE to understand the decimal values, we use the following NLS_LANG AMERICAN_AMERICA.EL8MSWIN1253. We keep AMERICAN_AMERICA because we want American messages (It's very hard to understand the errors in the Greek translation) and also it helps PB to understand the numbers it's receiving. The EL8MSWIN1253 is used to define the Greek character set (Some of our databases do not use UTF charset).
So, I think that Marco did not setup the parameter correctly. If I was him, I would try to use an NLS_LANG parameter that would destroy the results completely. For example I could use a "Greek" or a "Russian" NLS_LANGUAGE in order get the error messages in that language.
If SELECT 1/0 FROM DUAL gives you an error in Italian, then the specified NLS_LANG is in wrong place...
However, the best approach for this problem is to change these parameters, immediately after login, by executing
ALTER SESSION SET NLS_LANGUAGE='AMERICAN'
and
ALTER SESSION SET NLS_TERRITORY='AMERICA'
We use AMERICAN_AMERICA.EL8MSWIN1253. The EL8MSWIN1253 is the Greek ANSI charset, so we can store all the characters we want to, but yes, I agree that UTF8 is better. So in unicode databases, we use UTF8...