读取数据库中的表数据,出错:ORA-00942: 表或视图不存在

我知道这个应该是授权问题,但是不知道具体是那里没弄好,刚接触oracle
版本:oracle9i release 9.2.0.1.0
--建立tablespace:
create tablespace data_space --tablespace name
datafile 'data_storage_file' size 10m autoextend on next 500k maxsize 100m
extent management local segment space management auto
online
nologging;
--创建用户并分配默认tablespace
create user yong --drop user yong;
identified by yong
default tablespace data_space;
--授权连接,后面的是抄的别人的
grant connect,resource,dba to yong;
--在tablespace中建立表
create table sys_user
(
userid varchar(20) not null primary key,
creditals varchar(255) not null
) tablespace data_space;
--给用户授权
grant all privileges on sys_user to yong;
但是做了这些之后还是一直提示表或者试图不存在,不知道是不是遗漏了什么东西。请大家帮忙看看,非常感谢!
用PL/SQL使用yong登录后,任然会报同样的错误。不知道该如何授权。

第1个回答  推荐于2017-11-23
前面说的很清楚,偏偏提问不清楚,你做什么操作时报的错啊?
1、这个错误很明显,就是表不存在。但你明明建表了,不会不存在。只可能是用户或权限问题。
2、具体来说,建表空间data_space和建用户yong的都没错,授权连接也没错。可你授权连接后应该先退现在的用户,然后用你的yong用户登录进去,在yong用户下建表sys_user,不用指定表空间data_space,因为你的yong用户已经关联到该表空间了,所以yong用户下所有的表都默认在这个空间。
3、如果你没有在yong用户下建sys_user表,那你这张表实际时建在了你开始登录时使用的用户下。当你访问yong用户下的sys_user表时自然不存在。如果你建在yong用户下了,那么只要你不是在yong用户下对该表进行操作,都要带用户名访问,具体为yong.sys_user。说来说去都是一个问题,表所在的用户和你当前所在的用户不是一个。本回答被提问者采纳
相似回答