Forum Stats

  • 3,874,838 Users
  • 2,266,780 Discussions
  • 7,911,975 Comments

Discussions

APEX 22.1 - Application Export fails

2

Answers

  • jort2
    jort2 Member Posts: 39 Red Ribbon

    We have the same problem. Can anyone confirm if this is solved in 22.1.4?

    Thanks.

  • Niall
    Niall Member Posts: 33 Blue Ribbon

    Unfortunately I can't confirm as we're on the Autonomous DB and have no control over the patch level of APEX or our DB.

    Right now we're on APEX 22.1.2.

  • Patrick Wolf-Oracle
    Patrick Wolf-Oracle Consulting Member of Technical Staff Posts: 2,461 Employee

    Hi Niall and Jande87,

    would you mind to run the following SQL statement in SQLcl / your SQL tool please.

    select '*' || parameter || '*', value from sys.nls_session_parameters where parameter = 'NLS_NUMERIC_CHARACTERS'

    The Numeric value error has something to do with setting NLS_NUMERIC_CHARACTERS and we assume you have a single quote or something like that in your setting. Does this issue occur if your NLS_LANG is set to AMERICAN_AMERICA?

    Regards

    Patrick

    Niall
  • Niall
    Niall Member Posts: 33 Blue Ribbon

    Hi Patrick,

    Many thanks for chiming in here.

    The "apex export nnn" command in SQLcl appears to work when I set NLS_LANG as an environment variable (i.e. export NLS_LANG='AMERICAN_AMERICA'). I will try in PL/SQL also.

    Some details here:

    =================================================================

    Query output showing Swiss nls numeric characters 99'999.99 and NLS_LANG environment variable not set

    =================================================================

    SQL> select '*' || parameter || '*', value from sys.nls_session_parameters where parameter = 'NLS_NUMERIC_CHARACTERS';

        '*'||PARAMETER||'*'  VALUE 

    ___________________________ ________ 

    *NLS_NUMERIC_CHARACTERS*  .'    


    ===============================================

    NLS Parameters with environment variable NLS_LANG set to 'AMERICAN_AMERICA'

    ===============================================

    nls_calendar                string                                                     

    nls_comp                  string   BINARY                                               

    nls_currency                string                                                     

    nls_date_format               string                                                     

    nls_date_language              string                                                     

    nls_dual_currency              string                                                     

    nls_iso_currency              string                                                     

    nls_language                string   AMERICAN                                              

    nls_length_semantics            string   BYTE                                                

    nls_nchar_conv_excp             string   FALSE                                                

    nls_numeric_characters           string                                                     

    nls_sort                  string                                                     

    nls_territory                string   AMERICA                                               

    nls_time_format               string                                                     

    nls_time_tz_format             string                                                     

    nls_timestamp_format            string                                                     

    nls_timestamp_tz_format           string                                                     



    ===============================================

    NLS Parameters with environment variable NLS_LANG not set:

    ===============================================

    nls_calendar                string                                                     

    nls_comp                  string   BINARY                                               

    nls_currency                string                                                     

    nls_date_format               string                                                     

    nls_date_language              string                                                     

    nls_dual_currency              string                                                     

    nls_iso_currency              string                                                     

    nls_language                string   AMERICAN                                              

    nls_length_semantics            string   BYTE                                                

    nls_nchar_conv_excp             string   FALSE                                                

    nls_numeric_characters           string                                                     

    nls_sort                  string                                                     

    nls_territory                string   SWITZERLAND                                             

    nls_time_format               string                                                     

    nls_time_tz_format             string                                                     

    nls_timestamp_format            string                                                     

    nls_timestamp_tz_format           string                                                     

  • Niall
    Niall Member Posts: 33 Blue Ribbon

    Hi all,

    Following Patrick's suggestion, it would appear that these two solutions work.

    It seems to be related to the single-quote that is used as the thousands separator in Swiss numbers? (i.e. 99'999.99)

    1) for SQLcl: setting NLS_LANG in the session calling SQLcl

    export NLS_LANG='AMERICAN_AMERICA'

    or

    2) for both SQLcl and PL/SQL: adding this to the SQL or PL/SQL script

    alter session set nls_numeric_characters='.,';

    Many thanks to you Patrick, and to the APEX team!

  • Patrick Wolf-Oracle
    Patrick Wolf-Oracle Consulting Member of Technical Staff Posts: 2,461 Employee
    edited Aug 22, 2022 1:26PM

    Thanks for confirming the workaround! We will file a bug to get this fixed.

    Regards Patrick

    Niall
  • Jande87
    Jande87 Member Posts: 7 Red Ribbon

    For me, notings is changed.

  • Steve Muench-Oracle
    Steve Muench-Oracle Member Posts: 5,468 Employee

    @Jande87 Can you please provide the full stack trace of your error to see if it's exactly the same or a slight different code path? Thanks.

  • Patrick Wolf-Oracle
    Patrick Wolf-Oracle Consulting Member of Technical Staff Posts: 2,461 Employee

    @Jande87 can you run the following query, please? Replace xxxx with the application id of your application.

    select page_id,
           item_name,
           lov_named_lov,
           lov_definition,
      from apex_application_page_items
     where application_id = xxxx
       and substr(lov_definition, 1, 1) = '.'
       and substr(lov_definition, length(lov_definition), 1) = '.'
       and validate_conversion(substr(lov_definition, 2, length(lov_definition) -2 ) as number) = 0
     order by 1, 2