问题标签 [ora-00942]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
22734 浏览

sql - 为什么 Oracle 不告诉您哪个表或视图不存在?

如果您使用过 Oracle,您可能会收到有用的消息“ORA-00942:表或视图不存在”。消息中不包含丢失对象的名称是否有正当的技术原因?

关于这是出于安全原因的争论听起来像是由 TSA 精心设计的。如果我是攻击者,我会知道我刚刚试图利用哪个表,并且能够轻松地解释这个无用的消息。如果我是一名通过多层应用程序代码处理复杂连接的开发人员,通常很难分辨。

我的猜测是,最初实现此错误时,有人忽略了添加对象名称,现在,人们担心它会破坏兼容性来修复它。(如果代码发生变化,解析错误消息之类的傻事会很混乱。)

是否有一种对开发人员友好(而不是招募 DBA)的方式来确定丢失表的名称?


尽管我接受了与该主题相关的答案,但它并没有真正回答我的问题:为什么名称不是错误消息的一部分?如果有人能提出真正的答案,我很乐意改变我的投票。

0 投票
3 回答
12819 浏览

sql - 作为Sqlplus中的系统,我如何查询另一个用户的表?

根据从 system_privilege_map 中选择名称系统已被授予:

...以及许多其他 * 任何表格。

平淡无奇

...网给定的响应:

第 1 行出现错误:ORA-00942:表或视图不存在

我可以以该用户身份登录并运行相同的命令。

我假设我应该能够针对一般用户的数据库表运行查询(在本例中为选择)。我的假设是否正确,如果是,我该怎么做?

0 投票
5 回答
28777 浏览

java - ORA-00942: 表或视图不存在: 我如何找到它正在谈论的表或视图

在测试中,我们正在运行一个针对 ORACLE 10g 的 java/hibernate 应用程序。有时,我们会看到此错误:

ORA-00942: 表或视图不存在

有没有办法找出 ORACLE 正在谈论的表/视图?

我知道我可以在 hibernate 中添加额外的日志记录级别,这将显示它在 ORACLE 上执行的所有 SQL,然后运行该 SQL 以确定哪个 TABLE/VIEW 缺少或缺少权限。但鉴于它处于 TESTING/STAGING 中,这会降低性能。

有没有一种简单的方法来缩小表/视图名称的范围?

更新 :

如您所知,我无法控制 Oracle 数据库服务器环境。
我启用了 Hibernate 跟踪/日志记录并找到了一个有效的 SQL。我什至放了 Wireshark(它是一个 TCP 数据包过滤器)来查看 hibernate 实际发送的内容,这是一个有效的 SQL。那么,为什么甲骨文会偶尔抱怨它,而不是总是抱怨。

0 投票
3 回答
6949 浏览

oracle - Oracle 9i:同义表不存在?

我创建了一个包,其中包含我计划从单独的应用程序调用的存储过程。存储过程将返回模式中所有视图和表的排序列表。为此,它对 DBA_TABLES 和 DBA_VIEWS 同义词执行简单的选择,如下所示:

我已经验证了有问题的同义词存在并且是公开的:

我的理解是,因为它们是公开的,所以我不需要任何进一步的权限即可访问它们。如果这种理解是不正确的,我希望有人能驳斥我的想法,并指出更准确的数据。

现在这是我的问题:我可以在 Oracle SQL Developer 中打开一个工作表并从这些表中进行选择就可以了。我得到有意义的数据就好了(事实上,567 行)。但是当我尝试执行存储过程时,Oracle报错编译错误,如下图:

当我双击第二条错误消息时,SQL Developer 将我带到第一个 FROM 子句(“FROM DBA_TABLES”)。

所以我很困惑。我非常了解 SQL Server,而且我是 Oracle 的新手,所以请多多包涵。如果您能提供一些线索,或指出正确的方向,我将不胜感激。

提前致谢!

0 投票
5 回答
10170 浏览

sql - Oracle WITH CLAUSE 不起作用?

我正在尝试在查询中使用 WITH 子句,但不断收到消息

ORA-00942: 表或视图不存在

我试图在这里创建一个简单的查询作为示例:

WITH
test AS
(
SELECT COUNT(Customer_ID) FROM Customer
)
SELECT * FROM test;

但即使这样也不起作用,它只是给出了信息:

从测试中选择*;2 3 4 5 6 SQL>
SELECT * FROM test
* 第 1 行出现错误:
ORA-00942:表或视图不存在

我以前从未使用过 WITH 子句,这里有什么简单的东西吗?我正在使用 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod 任何建议将不胜感激。谢谢。

0 投票
3 回答
6592 浏览

sql - 无法从存储过程 (PL/SQL) 中的 dba_tab_cols 中进行选择

我正在尝试从存储过程中的 dba_tab_cols 视图中选择。它不工作,我不知道为什么。

如果我执行以下 SQL 作为查询:

它工作正常。但是,如果我将它复制到这样的存储过程中:

我收到错误消息“PL/SQL:ORA-00942:表或视图不存在”,并且编辑器在尝试编译时突出显示 dba_tab_cols。在这两种情况下都使用相同的数据库用户。

dataType 声明为:dataType varchar2(128);

PL/SQL (甲骨文 9)

有人知道这个问题吗?

0 投票
2 回答
1230 浏览

sql - 具有多个连接的 Oracle 视图仅在使用引号时才能识别 - 为什么?

我在 Oracle 视图上执行 sql 查询时遇到了一个奇怪的行为。该视图包含多个连接。当我键入常规 sql 时:

我想知道为什么?

下面是我的sql:

0 投票
3 回答
14873 浏览

sql - dba_jobs_running:尝试从过程访问时表或视图不存在

只需使用类似的东西查询正在运行的作业

在我的 sqldevelopers SQL 控制台中执行时工作正常。

但是,当在过程中具有完全相同的语句时,它不起作用。编译失败

有任何想法吗?有没有类似范围的东西需要考虑?

任何建议都非常感谢,在此先感谢:)

0 投票
0 回答
5598 浏览

oracle - 如何在 Crystal 报表 11 中更改架构名称?

该报表是在 Crystal Reports XI 中设计的。

它使用 CR Oracle ODBC 驱动程序 4.1 与 Oracle 数据库建立 ODBC 连接。

我需要将此报告轻松分发到使用相同 ODBC DSN 的 14 个站点,但每个站点的数据库具有不同的所有者和/或架构名称。

我按照 Business Objects 的说明修改了报告中每个表的完全限定名称:

  1. 在“数据库”菜单上,单击“设置数据源位置”。将出现“设置数据源位置”对话框。

  2. 在“当前数据源”区域中,展开当前连接列表以查看报告中的每个表格。

  3. 对于报告中的每个表格:

    一世。展开“属性”列表。

    ii. 单击“覆盖的限定表名称”,然后按 F2 键或双击。

    iii. 将光标移动到文本末尾并输入表格名称。

    iv. 按 Enter。

我收到错误

水晶报表

无法从数据库中检索数据。

详细信息:ORA-00942:表或视图不存在

[数据库供应商代码:942]

我要么需要修复这些错误,要么需要一种更好的方法来使这些 Oracle 报告更具可移植性。

0 投票
1 回答
2230 浏览

oracle - Oracle 10:是否可以访问存储过程或包中表的公共同义词?

一段时间以来,我一直在尝试在包或存储过程中添加对公共同义词的引用但没有成功,我想知道除了直接访问表之外是否有解决此问题的方法。例如:

我知道这个程序什么都不做,但这只是一个例子。表“test_synonym”实际上是另一个模式中表的公共同义词。我确实对该表具有选择权限,但是尝试反复编译它会给我错误:

谢谢你的时间。