DB2 on z / OS撤销时出错

时间:2016-04-21 06:45:03

标签: db2 zos

我正在观察db2 z / OS撤销操作的奇怪行为。

假设我创建了一个用户,分配了一些权限并尝试删除用户,或者如果我尝试撤销某些权限,我会收到错误 “DB2 SQL错误:SQLCODE = -556,SQLSTATE = 42504,SQLERRMC = USER3; CREATETAB; ON DSN00016; TESTJDBC,DRIVER = 3.67.28” 根据错误代码,它表示“无法撤消用户不拥有的权限”。

但我看到分配给用户的权限。

如果分配相同的权限,然后尝试撤销它成功撤销。

帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

如果其他人授予了这一特权,那么DB2可能会抱怨您不是授予者。您可以尝试在BY <other_grantor>的末尾添加BY ALLREVOKE

Here'来自知识中心的相关摘要:

  

如果未指定BY子句,则为该授权标识   语句必须至少授予一个指定的权限   到FROM子句中指定的每个 authorization-name (包括   PUBLIC,如果指定的话)。如果指定了BY子句,则   声明的授权ID必须具有 SECADM 或    ACCESSCTRL 权限。