Ok this is my NLS parameters From database and User. Like said before NLS_NUMERIC_CHARACTERS differ as well as other. But in the versions below 802 it does not matter - over it yes.
User - NLS Session Parameters
Parameter Value
NLS_CALENDAR GREGORIAN
NLS_COMP BINARY
NLS_CURRENCY zł
NLS_DATE_FORMAT RR/MM/DD
NLS_DATE_LANGUAGE POLISH
NLS_DUAL_CURRENCY zł
NLS_ISO_CURRENCY POLAND
NLS_LANGUAGE POLISH
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NUMERIC_CHARACTERS ,
NLS_SORT POLISH
NLS_TERRITORY POLAND
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT RR/MM/DD HH24:MI:SSXFF
NLS_TIMESTAMP_TZ_FORMAT RR/MM/DD HH24:MI:SSXFF TZR
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
NLS Database Parameters
Parameter Value
NLS_CALENDAR GREGORIAN
NLS_CHARACTERSET EE8MSWIN1250
NLS_COMP BINARY
NLS_CURRENCY $
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_DUAL_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_LANGUAGE AMERICAN
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_NCHAR_CONV_EXCP FALSE
NLS_NUMERIC_CHARACTERS .,
NLS_RDBMS_VERSION 11.1.0.6.0
NLS_SORT BINARY
NLS_TERRITORY AMERICA
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
Table:
create table TEST_NUMBER
(
id NUMBER
)
insert into TEST_NUMBER (id)
values (1);
insert into TEST_NUMBER (id)
values (2);
insert into TEST_NUMBER (id)
values (2.5);
insert into TEST_NUMBER (id)
values (4.55);
commit;
Nothing unusual here, but there are two pde files
http://dl.dropbox.com/u/48516697/test_number_802.pdehttp://dl.dropbox.com/u/48516697/test_number_902.pde
Both created for the same table TEST_NUMBER. First in v802 (not upgraded) and second in 902(demo). Files are uncompressed so looking inside you can see that decimal separator is different. Both versions of developer installed on the same operating system and connected to the same database (the same NLS settings).
For test_number_802.pde import there is no error at all (in v802 and in v902).
But for second file (test_number_902.pde), created with v902, regardless of which of two version of Developer I use it fails to load.
Import table TEST_NUMBER
Error inserting record into TEST_NUMBER:
ORA-01722: niepoprawna liczba
Error inserting record into TEST_NUMBER:
ORA-01722: niepoprawna liczba
Error inserting record into TEST_NUMBER:
ORA-01722: niepoprawna liczba
2 Records loaded, 3 errors
Of course - changing NUMBER column to varchar2 insert is done but for test_number_902.pde separator is '.' and for test_number_802.pde it is ','.
I hope I wrote enough detail and the files will explain the rest.
-------------
I think I know where error is:
v802 use
nls_session_parametersfor both import and export .
v902 use
nls_database_parameters for export BUT
for import nls_session_parameters is used.
If your NLS_NUMERIC_CHARACTERS for database and for session are the same there is no error.
To see difference - change v802 to 'single session' and alter session NLS_NUMERIC_CHARACTERS first to ', ' and export to pde second to ',.' and also export to pde - there is difference between files.
If you do this in v803 - v902 change of session NLS_NUMERIC_CHARACTERS does not affect the appearance of the exported file (separator is taken from database).