我遇到这样的情况,用户将创建一个新用户并向他们授予权限,但是我无法通过Apex
创建一个新用户。
我通过system
登录,并且已经获得了通过后端创建系统用户的权限。我的授予命令看起来像
grant create user to system with admin option;
但无法授予。
但是,如果我通过SQL Command Line
登录并创建了一个新用户,它允许我创建但不能通过Apex
我在做什么错了,请帮帮我。
注意,我正在使用apex表单添加新用户
答案 0 :(得分:1)
名为SYSTEM
的数据库用户拥有数据库。它可以创建用户而无需您授予该特权。
说您以system
登录到Apex:我建议您不要这样做。单独保留SYS
和SYSTEM
。它们是特殊的,您不想弄乱它们。
(通过SQL * Plus)创建一个新用户,为其授予create user
特权,并将其用于此目的。只是为了测试,这就是我对HR
用户所做的:
HR
数据库用户创建了一个Apex工作区。 HR
的身份登录Apex,我创建了一个页面,其中包含一个项目:P3_USERNAME
和一个按钮然后,我创建了一个在按下按钮时触发的过程。该过程如下所示:
begin
execute immediate 'create user ' || :P3_USERNAME || ' identified by x';
end;
运行页面,在项目中输入xxx
并按下按钮。
ALL_USERS
,并且-在这里;用户xxx
在这里尝试执行相同操作。应该可以。