ora-01720

ora-01720 grant option does not exist for '<schema>.<object_name>'

一般發生在A用戶授權B用戶可以訪問自己的某一個Object,但是B用戶中的某一個Object用到了A中的這個Object,B把自己的這個Object在授權給A時會發生這個錯誤.說起來這麼繞口,我們舉個例子看看:

比如A中有一個table叫tab1,在A中使用grant all on tab1 to B授權,然後在B中建立一個view,叫view1,view1中會用到A中授權過來的tab1.因為你要讓A去使用這個View1,用grant all on view1 to A,就會發生這個錯誤.解決方法很簡單在A中執行grant all on tab1 to B with grant option即可.

呵呵看了這個解決方法,那原因就很明瞭了,不用多講,地球人都知道.

ORA-01720错误是指在Oracle数据库中执行授权(GRANT)语句时不存在授权选项。这个错误通常发生在以下情况下: 1. 语法错误:在授权语句中可能存在语法错误,比如错误的关键字使用或者错误的授权对象命名等。在编写授权语句时应仔细检查语法,确保没有拼写错误或者错误的语法结构。 2. 错误的授权对象:可能尝试对一个不存在的表、视图、存储过程或者其他对象进行授权。在授权之前需要确保对象存在并且正确命名。可以使用DESCRIBE命令或查询数据字典(如ALL_OBJECTS视图)来确定对象是否存在。 3. 缺少权限:当前用户可能没有足够的权限来执行授权操作。在Oracle数据库中,只有具有足够权限的用户才能执行授权操作。如果收到ORA-01720错误,可能需要联系数据库管理员(DBA)或具有足够权限的用户来执行授权操作。 解决ORA-01720错误的方法包括: 1. 仔细检查授权语句的语法,确保没有错误的关键字或拼写错误。 2. 确保授权对象存在并且正确命名。 3. 如果是权限不足导致的错误,联系数据库管理员或具有足够权限的用户来执行授权操作。 总之,ORA-01720错误通常是由于授权语句中存在语法错误、错误的授权对象或者缺少权限引起的。使用正确的语法、正确的对象名称和具有足够权限的用户来执行授权操作可以解决这个错误。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值