在 Oracle 自治数据库中,尝试使用 apex_util.create_user 在 plsql 程序中创建工作区。但失败了

Posted

技术标签:

【中文标题】在 Oracle 自治数据库中,尝试使用 apex_util.create_user 在 plsql 程序中创建工作区。但失败了【英文标题】:in Oracle Autonomous database try to create an workspace in the plsql program by using the apex_util.create_user. but failed 【发布时间】:2022-01-14 00:25:02 【问题描述】:

    APEX_UTIL.SET_SECURITY_GROUP_ID( APEX_UTIL.FIND_SECURITY_GROUP_ID( p_workspace => 'teacher' ));

   apex_util.create_user(
   p_user_name => 'teacher',
   p_web_password => 'ChangeMe@1234',
   p_developer_privs => 'ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL',
   p_email_address => 'test1@example.com',
   p_default_schema => 'teacher',
   p_change_password_on_first_use => 'N' );

   end;

Error report -
ORA-20001: Package variable g_security_group_id must be set.
ORA-06512: at "APEX_210100.WWV_FLOW_API", line 485
ORA-06512: at "APEX_210100.WWV_FLOW_API", line 520
ORA-06512: at "APEX_210100.WWV_FLOW_FND_USER_INT", line 1731
ORA-06512: at "APEX_210100.htmlDB_UTIL", line enter code here  1245
ORA-06512: at line 5

Oracle自治数据库是否允许开发人员通过编程方法创建顶点工作区? 有可用的 API 吗? OCI for Java SDK 是否支持创建 APEX?

【问题讨论】:

感谢 cmets。我在没有oci-java-cloud插件的sql developer中执行plsql语句。 【参考方案1】:

要将工作区添加到您的 APEX 实例,请使用ADD_WORKSPACE 过程。

例子:

BEGIN
    APEX_INSTANCE_ADMIN.ADD_WORKSPACE (
        p_workspace_id       => 8675309,
        p_workspace          => 'MY_WORKSPACE',
        p_primary_schema     => 'SCOTT',
        p_additional_schemas => 'HR:OE' );
END;

要创建APEX users on Autonomous Database,请注意:

Application Express 管理服务和 Oracle 应用程序 自治数据库上的快速开发环境使用数据库 账户认证。此身份验证方法使用数据库 用于验证用户的帐户用户名和密码。

【讨论】:

BEGIN APEX_INSTANCE_ADMIN.ADD_WORKSPACE (p_workspace => 'TEACHER'​​, p_primary_schema => 'TEACHER'​​);结束; 我可以运行上面的脚本并且可以创建“TEACHER”工作区。我还创建了 TEACHER 数据库用户。但我无法使用 TEACHER 工作区名称、TEACHER 帐户以及 TEACHER 数据库密码登录工作区。我可以使用教师帐户登录数据库操作。 这就是我尝试使用 apex_util.create_user 创建 apex 用户的原因。 自治的 APEX 环境使用数据库帐户身份验证。请查看这篇有用的博文:blogs.oracle.com/apex/post/… 我尝试了博客中的步骤,但不起作用。社区中是否有人尝试通过使用 plsql 程序而不只是文档来在 ATP 中创建工作区?

以上是关于在 Oracle 自治数据库中,尝试使用 apex_util.create_user 在 plsql 程序中创建工作区。但失败了的主要内容,如果未能解决你的问题,请参考以下文章

Oracle Apex 19.2:无法解决“架构被保留或受限”问题

如何在 Oracle APEX 中使用替换变量

oracle apex 在使用 INSERT INTO 向表中添加数据时给我一个错误

Oracle APEX 表格形式选择列表禁用

自治事务中的 Oracle DDL

Oracle Apex 的对象浏览器中未显示任何数据