database - 如何将 dbms_crypto 上的执行权限授予用户?
问题描述
当我尝试执行此操作时:
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 命令未正确结束”
怎么解决???
解决方案
以 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>
推荐阅读
- vuejs2 - 我的 Nuxt Button 组件没有“href”属性
- sql - 无法使用 SQL 插入数字 - 删除整列/数字为空
- mysql - 获取 MySQL 中字符串字段的 SUM
- php - 无法使用 fputcsv() 和 pg_fetch_xxx() 返回的数组获取 csv 文件
- c++ - 嵌套枚举类与否?
- mysql - 如何为每个外键获取 SQL AVG()
- angularjs - angular-ui-router 总是将应用程序附加到 url
- kotlin - 无法在命令行上运行 Kotlin 程序
- javascript - 在某些安卓设备上显示白屏而不是谷歌地图
- ffmpeg - 如何在 ffmpeg 中转换为良好的图像质量?