You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无APEX应用时,能否通过PL/SQL创建APEX会话调用APEX_DATA_EXPORT?

关于APEX_SESSION.CREATE_SESSION与无APEX应用场景的问题

1. 是否必须创建APEX应用才能使用CREATE_SESSION?

是,APEX_SESSION.CREATE_SESSION的p_app_id参数必须对应一个已存在的APEX应用。APEX会话本质与特定应用绑定,没有合法的应用ID,调用该过程会触发错误(如ORA-20001: Invalid Application ID)。哪怕只是通过PL/SQL调用APEX API,也需要依托一个合法的APEX应用来创建会话。

2. 能否通过PL/SQL创建APEX应用?

可以,APEX 22.1支持通过PL/SQL程序化创建应用,推荐使用APEX_APPLICATION_INSTALL包(专门用于程序化部署),也可使用APEX_APPLICATION.CREATE_APPLICATION过程。

以下是创建基础应用的PL/SQL示例:

DECLARE
    l_app_id NUMBER;
BEGIN
    -- 创建新APEX应用
    l_app_id := APEX_APPLICATION_INSTALL.CREATE_APPLICATION(
        p_app_name        => 'TEMP_API_APP',
        p_app_alias       => 'TEMP_API_APP',
        p_owner           => 'YOUR_WORKSPACE_SCHEMA', -- 替换为你的工作区schema
        p_theme_id        => 42, -- 使用Universal Theme
        p_theme_style_id  => 25 -- 默认样式
    );
    
    -- 提交变更并设置当前应用ID
    APEX_APPLICATION_INSTALL.SET_APPLICATION_ID(l_app_id);
    COMMIT;
    
    DBMS_OUTPUT.PUT_LINE('创建的应用ID: ' || l_app_id);
END;
/

注意事项:

  • 执行代码的用户需要拥有APEX_ADMINISTRATOR_ROLE或对应工作区的管理员权限。
  • 创建应用后无需额外创建页面,调用APEX_SESSION.CREATE_SESSION时p_page_id填1即可(会话仅验证应用ID合法性,不校验页面是否存在)。

内容的提问来源于stack exchange,提问作者Vitor Mira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 20:35:17