将一个非常旧的应用程序升级到 APEX 20.2 后,一切都运行得非常好,除了在调用 WWV_FLOW_DYNAMIC_EXEC.PARSE_AS_USER 时所有按钮和 LOV 都会抛出两个错误之一的几个页面:
Could not validate caller for user "" when parsing
select select 1
from TD_PNART
could not validate env for schema "APEX_PUBLIC_USER":context=, parse_as_schema=,
parse_as_schema_override=,sgid=, curr_flow_sgid=994328456202381, flow_id=220,when parsing
我已经尝试了所有方法,从更新授权方案、在每条 SQL 中搜索可能使架构用户过期的内容、重新创建对象、重新验证 ORDS 等,但每次都会出现错误并且 SQL Trace/APEX Trace 不会提供进一步的信息。我在 Google 或 Oracle Support 上也找不到问题。
如何诊断这样的内部错误?
- 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