找不到用户
我尝试过
grant execute on sys.dbms_crypto to "DB_Project";
但是错误:ORA-00942:表或视图不存在 00942. 00000-“表或视图不存在”
也尝试过此操作:
grant execute on sys.dbms_crypto to SYSTEM."DB_Project";
错误:00000-“ SQL命令未正确结束”
如何解决?
答案 0 :(得分:1)
以SYS身份连接并将该特权授予用户:
SQL> show user
USER is "SYS"
SQL> grant execute on dbms_crypto to scott;
Grant succeeded.
SQL>
您已将其授予"DB_Project"
-您是否真的使用大小写混合的方式创建了用户?如果没有,请删除双引号。
说您将其授予“在SYSTEM内部创建的用户”-那会是什么?不能在其他用户内部创建用户,每个用户都是独立的。我正在尝试做您告诉我们的事情:
SQL> create user "DB_Project" identified by test;
User created.
SQL> grant execute on dbms_crypto to db_project;
grant execute on dbms_crypto to db_project
*
ERROR at line 1:
ORA-01917: user or role 'DB_PROJECT' does not exist
SQL> grant execute on dbms_crypto to "DB_Project";
Grant succeeded.
SQL>
显然,当用户名用双引号引起来时,它可以工作(如果是这样创建的,尽管我不建议这样做)。
您还有其他事情(没有给我们看)吗?是什么原因导致ORA-00942?这里没有表 ...
哦,是的-说“您找不到用户”-这是您的处理方式:
SQL> select * From all_users;
USERNAME USER_ID CREATED
------------------------------ ---------- --------
XS$NULL 2147483638 29.05.14
DB_Project 49 17.03.19
SCOTT 48 19.02.19
APEX_040000 47 29.05.14
<snip>