AWS RDS Oracle查询时出错-
ORA-00942:表或视图不存在
我已经在AWS RDS数据库上完成了从MySQL到Oracle的测试数据迁移。迁移后,我运行了几个Select count(*)
查询进行验证。错误:ORA-00942: table or view does not exist
我正在从AWS EC2示例中使用SQL Developer作为客户端工具。我可以从SQL Developer的GUI中可视化示例数据。但是在运行查询时,我得到了错误。
相关查询不多:
1.
SHOW USER; --ADMIN
2.
SELECT owner FROM all_objects
WHERE object_type IN ('TABLE','VIEW')
AND object_name = 'ureentity'; --ADMIN
3.
Select count(*) from ADMIN.ureentity; --ORA-00942: table or view does not exist
4.
SELECT * FROM USER_TAB_PRIVS WHERE GRANTEE = 'ADMIN';
5.
GRANT SELECT ON ureentity TO ADMIN;
有人能帮忙吗?
1条答案
按热度按时间wecizke31#
您不需要向表的所有者授予对表的访问权限。访问是隐式和不可撤销的。
如果你从这个查询中得到输出,其中object_name被强制为小写,那么它意味着这个对象是用引号括起来的,并且小写:例如
create table "ureentity" ...
由于对象是使用引号创建的,并且名称必须区分大小写,因此将来必须始终使用引号引用它,否则Oracle将默认阅读名称的大小写,并且不会找到对象。
在以ADMIN连接时尝试以下操作:
请注意,一般来说,在Oracle中创建区分大小写的名称被认为是不好的做法。DDL语句中的对象名不应该用引号括起来,那么
ureentity
和UREENTITY
可以不带引号使用,并且被认为是等效的。它们是等效的,不区分大小写:
这些语句与前三个语句不等价,也不相互等价: