无法在 APEX 上启用 JavaScript MLE



我在21c express数据库上运行Oracle APEX 21.1(内部版本21.1.3.r1531102(,由于某些原因,我无法使用JavaScript MLE选项执行服务器端代码。

在开发环境中,它根本不显示选项。

在SQL命令屏幕中,我只能执行纯SQL或PL/SQL。如果我尝试执行以下示例

SET SERVEROUTPUT ON;
DECLARE
ctx dbms_mle.context_handle_t;
user_code clob := q'~
console.log('Hello World!');
~';
BEGIN
ctx := dbms_mle.create_context();
dbms_mle.eval(ctx, 'JAVASCRIPT', user_code);
dbms_mle.drop_context(ctx);
EXCEPTION
WHEN others THEN
dbms_mle.drop_context(ctx);
RAISE;
END;

我收到以下消息:

ORA-00922: missing or invalid option
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_210100", line 673
ORA-06512: at "SYS.DBMS_SYS_SQL", line 1703
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_210100", line 659
ORA-06512: at "APEX_210100.WWV_FLOW_DYNAMIC_EXEC", line 1854

几周前我们解决了这个问题,但我忘记更新这个问题。

经过一些工作,我们发现用户需要被授予访问MLE的权限。我不是那个修复的人,但我已经要求代码发布在这里,请查看下面:

GRANT MLE JAVA
GRANT EXECUTE DYNAMIC MLE to XYZ;
GRANT EXECUTE ON JAVASCRIPT TO XYZ;

删除第一行或注释掉,我想这是为了内部部署DB版本支持,但在ADB中是不允许的。

最新更新