ORA-00942:表或视图不存在错误,即使我向用户授予了Select权限

bra*_*age 1 oracle

对于我的Oracle数据库,我创建了一个用户.我希望该用户只能访问3个表.所以我写了这些查询:

grant select on table1 to newuser;
grant select on table2 to newuser;
grant select on table3 to newuser;
Run Code Online (Sandbox Code Playgroud)

我从控制台得到了这个,这确保我给了补助金.

GRANT succeeded
Run Code Online (Sandbox Code Playgroud)

但是,当我与此用户连接到数据库并编写以下查询时,我收到ORA-00942错误.

Select * from table1;
Run Code Online (Sandbox Code Playgroud)

我想我需要为特权和角色编写额外的查询(我已经添加了CONNECT角色).可能是什么?

Lok*_*esh 6

通过指定表所有者来运行查询.

Select * from tableowner.table1;
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,则表示您未在正确的表上授予访问权限,或者您使用错误的用户登录.

记住,同一个表名可以存在于多个模式中.