DB2 - Read Priviliges无法读取

时间:2015-07-30 15:15:17

标签: sql db2 privileges

我正在尝试使用帐户(ACCOUNTX)从某个表(READTABLE)读取。此帐户在表READTABLE上具有读取(选择)权限。我使用以下方式检查了这个:

from syscat.tabauth
where grantee = CURRENT USER and (SELECTAUTH = \'Y\' OR SELECTAUTH = \'G\')

其他人返回,READTABLE。

但是,执行我有FROM READTABLE的语句我收到以下错误:

[DB2/AIX64] SQL0204N "ACCOUNTX.READTABLE is an undefined name. SQLSTATE=42704

为什么这张桌子会预先加入ACCOUNTX?或者我的特权检查查询错了吗?

1 个答案:

答案 0 :(得分:2)

DB2中的每个表都属于一个模式。因此,完全限定的表名由模式名称和表名组成,用点分隔。

如果在引用表时,您没有明确地使用模式名称限定它,那么DB2将获取会话中设置的CURRENT SCHEMA变量的值。默认情况下,CURRENT SCHEMA初始化为您的授权ID(用户名)的值。

显然,您的表格READTABLE属于与ACCOUNTX不同的架构。如果您没有读取表的权限,则错误将有所不同。