在 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:无法解决“架构被保留或受限”问题