我使用个人工作区开发了一个应用程序。导出了相同的内容,随后将其安装在开发人员团队工作区中。我的几个页面在运行时得到了ORA-00942:表或视图不存在,这没有意义,因为表确实存在(我使用"SQL命令"选项对此进行了测试(。有趣的是,我正在使用的同一代码实际上应用于同一工作区内的不同应用程序,并且运行得很完美。这是正常行为吗?可能是由于工作区的配置?
谢谢!
它可能是一个"权限";问题:
http://www.dba-oracle.com/sf_ora_00942_table_or_view_does_not_exist.htm
答:有几种常见操作会导致ORA-00942错误:
- 以表的非创建者身份登录时未指定表所有者名称
- 表导入(imp或impdp(上的ORA-00942
- 具体化视图刷新时的ORA-00942
。。。
当您所在的用户以身份登录的用户没有查看该表的权限!
将表公开并授予DML权限:
- 连接myuser/mypass
- 为myuser.testtable创建公共同义词testtable
- 向公众授予mytable上的insert、select、update、delete
此外,请查看对此线程的各种回复。例如:
https://stackoverflow.com/a/36165446/421195
因为这篇文章是搜索时在stackoverflow上找到的第一篇对于";ORA-00942:表或视图不存在插入";,我想提及此错误的另一个可能原因(至少在Oracle 12c中(:表使用序列设置默认值,用户执行插入查询对序列没有选择权限。这是我的问题,我花了不必要的长时间才弄清楚出来
我首先要检查的是应用程序的解析模式-请参阅共享组件->安全属性。
如果您的应用程序的两个实例之间的情况不相同,那么这就是可能的解释。