Oracle apex WWV_FLOW_DYNAMIC_EXEC.PARSE_AS_多个按钮和LOV上的用户错误

Oracle apex WWV_FLOW_DYNAMIC_EXEC.PARSE_AS_多个按钮和LOV上的用户错误,oracle-apex,oracle-apex-20.2,Oracle Apex,Oracle Apex 20.2,将一个非常旧的应用程序升级到APEX 20.2后,一切都运行得出奇地好,除了一些页面,在调用WWV_FLOW_DYNAMIC_EXEC.PARSE_AS_用户时,所有按钮和LOV都会抛出两个错误之一: Could not validate caller for user "" when parsing select select 1 from TD_PNART 从更新授权方案、搜索每个SQL片段以查找可能已使架构用户过期的内容、重新创建对象、重新验证ORD等,我尝试了

将一个非常旧的应用程序升级到APEX 20.2后,一切都运行得出奇地好,除了一些页面,在调用WWV_FLOW_DYNAMIC_EXEC.PARSE_AS_用户时,所有按钮和LOV都会抛出两个错误之一:

Could not validate caller for user "" when parsing
select select 1 
  from TD_PNART
从更新授权方案、搜索每个SQL片段以查找可能已使架构用户过期的内容、重新创建对象、重新验证ORD等,我尝试了所有方法。但是每次都会出现错误,SQL跟踪/APEX跟踪没有提供进一步的信息。我也找不到谷歌或甲骨文支持的问题

如何诊断这样的内部错误

- error_backtrace: ----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
0x6d5e0d58       947  package body APEX_200200.WWV_FLOW_ERROR.INTERNAL_GET_ERROR
0x6d5e0d58      1015  package body APEX_200200.WWV_FLOW_ERROR.INTERNAL_ADD_ERROR
0x6d5e0d58      1407  package body APEX_200200.WWV_FLOW_ERROR.RAISE_INTERNAL_ERROR
0x6d5e0d58      1488  package body APEX_200200.WWV_FLOW_ERROR.RAISE_MASKED_INTERNAL_ERROR
0x825ab978       521  package body SYS.WWV_DBMS_SQL_APEX_200200.PARSE_AS_USER
0x73579878      1698  package body APEX_200200.WWV_FLOW_DYNAMIC_EXEC.PARSE_AS_USER
0x73579878      2378  package body APEX_200200.WWV_FLOW_DYNAMIC_EXEC.SELECT_INTO_I
0x73579878      2459  package body APEX_200200.WWV_FLOW_DYNAMIC_EXEC.SELECT_NUM
0x73579878      1263  package body APEX_200200.WWV_FLOW_DYNAMIC_EXEC.DO_ROWS_EXIST
0x8239fac8       290  package body APEX_200200.WWV_FLOW_CONDITIONS.STANDARD_CONDITION
0x851816e0        71  package body APEX_200200.WWV_FLOW_META_UTIL.IS_OK_TO_DISPLAY

Oracle的一位工程师能够解决这个问题,这有一个完全出乎意料的解决方案:

只是为了其他可能遇到相同问题的开发人员的利益 问题问题是该页面仍然包含 键入APEX中已取消支持的“带计算器的文本字段” 5.0. 在呈现这样一个页面项目之后,剩余的页面呈现被破坏,这导致了上述错误。我把臭虫归档了 #32828261以最终删除该项类型并将现有项转换为文本字段

select workspace, application_id, application_name, page_id, page_name, item_name
  from apex_application_page_items
 where display_as_code = 'NATIVE_TEXT_WITH_CALCULATOR'
 order by workspace, application_id, page_id, item_name
解决方法:

手动将现有页面项目更新为文本字段

select workspace, application_id, application_name, page_id, page_name, item_name
  from apex_application_page_items
 where display_as_code = 'NATIVE_TEXT_WITH_CALCULATOR'
 order by workspace, application_id, page_id, item_name

您的应用程序是否直接调用WWV_FLOW_DYNAMIC_EXEC?我看不出来。我正在用Debugger中的堆栈更新这个问题,这听起来像是一个bug——我认为这是在Oracle支持下提出的。