I experience the same issue with APEX 5.0.1. It worked in APEX 4.2.
I investigated it a bit further and you are right. In the moment when you upload a file the NLS parameter get switched to:
select listagg(parameter || ':'|| value, CHR(10)) WITHIN GROUP (ORDER BY parameter)
from nls_session_parameters ;
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
In case I don't upload a file I get this:
NLS_TIMESTAMP_TZ_FORMAT:DD.MM.RR HH24:MI:SSXFF TZR
Definetly a bug. NLS parameters will hold for all processes during the submit.
Ad this code snippet infront of your import process (add your language settings)
execute immediate 'alter session set nls_language=GERMAN';
EXECUTE IMMEDIATE 'ALTER SESSION SET nls_numeric_characters='',.''';
thanks for the bug report. I have filed
Bug 22762425 - file upload will ignore application nls settings
and fixed it for APEX 5.1.
As an additional information. This issue is specific to ORDS, it will not occur when using mod_plsql or EPG.
Is there some workaround for "Automatic Row Processing (DML)" in 5.0.3?
I'm trying to enter a file on the same page (created by Wizard) where I have some numeric items with format mask and I'm getting stuck...
I've created an application process as indicated here APEX 5 - File Upload Bug | APEX-AT-WORK by Tobias Arnold but it didn't work. Also I tried run this "ALTER SESSION" before than my DML process but it didn't work neither.
Do you guys have some clue how to handle this until 5.1 become available?