【发布时间】:2021-06-06 08:58:06
【问题描述】:
我是 Oracle APEX 的新手,我正在尝试从 Oracle APEX 20.2 创建 REST 数据 Web 服务,同时创建以下 Web 服务是配置设置,
所以关于这个问题,我正在尝试执行 APEX ACL 脚本,但它显示以下错误,
DECLARE
ACL_PATH VARCHAR2(4000);
ACL_ID RAW(16);
BEGIN
-- Look for the ACL currently assigned to '*' and give APEX_040200
-- the "connect" privilege if APEX_040200 does not have the privilege yet.
SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
-- Before checking the privilege, ensure that the ACL is valid
-- (for example, does not contain stale references to dropped users).
-- If it does, the following exception will be raised:
--
-- ORA-44416: Invalid ACL: Unresolved principal 'APEX_040200'
-- ORA-06512: at "XDB.DBMS_XDBZ", line ...
--
SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
FROM XDB.XDB$ACL A, PATH_VIEW P
WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
EQUALS_PATH(P.RES, ACL_PATH) = 1;
DBMS_XDBZ.ValidateACL(ACL_ID);
IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_040200',
'connect') IS NULL THEN
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
'APEX_040200', TRUE, 'connect');
END IF;
EXCEPTION
-- When no ACL has been assigned to '*'.
WHEN NO_DATA_FOUND THEN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',
'ACL that lets power users to connect to everywhere',
'APEX_040200', TRUE, 'connect');
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;
错误:(我在执行上述脚本时面临)
ORA-06550: line 8, column 33: PL/SQL: ORA-00942: table or view does not exist ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_200200", line 670 ORA-06550: line 8, column 3: PL/SQL: SQL Statement ignored ORA-06550: line 24, column 7: PLS-00201: identifier 'DBMS_NETWORK_ACL_ADMIN' must be declared ORA-06550: line 24, column 4: PL/SQL: Statement ignored ORA-06550: line 33, column 3: PLS-00201: identifier 'DBMS_NETWORK_ACL_ADMIN' must be declared ORA-06550: line 33, column 3: PL/SQL: Statement ignored ORA-06550: line 36, column 3: PLS-00201: identifier 'DBMS_NETWORK_ACL_ADMIN' must be declared ORA-06550: line 36, column 3: PL/SQL: Statement ignored ORA-06512: at "SYS.DBMS_SYS_SQL", line 1658 ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_200200", line 656 ORA-06512: at "APEX_200200.WWV_FLOW_DYNAMIC_EXEC", line 1768
所以当我检查 APEX 论坛时,基本上我们需要连接权限来创建 Web 服务,所以我的问题是如何在使用 apex.oracle.com 时获得连接权限,我正在使用 oracle apex 的测试架构,为此我请求谁获得连接权限,谁负责 DBA,或者如何解决这个问题。
提前致谢, 轭
【问题讨论】:
标签: rest web-services plsql oracle-apex acl