问题标签 [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 投票
3 回答
1568 浏览

sql - 无法创建或删除任何 oracle 对象

我正在尝试更新一个 oracle 数据库,以便它的架构与第二个数据库完全匹配。在这样做时,我已经冲洗了一些东西。我无法创建或删除任何对象。

错误:

对于我尝试执行的任何创建或删除操作,我都会遇到相同的错误。有任何想法吗?

编辑:运行 Oracle 10.2.0.4

0 投票
1 回答
3165 浏览

oracle - Weblogic 10.3、JDBC、Oracle、SQL - 表或视图不存在

我有一个非常奇怪的问题,我没有成功搜索过。

它开始发生时没有更改数据库、连接设置、代码等。

问题是,当访问 servlet 时,其中一个 EJB 正在执行直接 SQL 调用,非常简单

"select \n" +
" value, \n" +
" other_value \n" +
" from \n" +
" some_table \n" +
" where some_condition = ? "

这显然不是直接的 SQL,但非常接近。出于某种原因,这开始返回一个错误,指出“ORA-00942:表或视图不存在”。

该表存在,如果我在调试器中挂接,在查询中更改空格或其他小东西(不更改查询本身),然后热部署更改,它就可以正常工作。这不是我第一次遇到这种情况。它似乎只发生在开发环境中(还没有在 q/a、沙盒或生产环境中看到它),并不总是可复制的,这让我非常疯狂。

并非总是可复制的,我的意思是偶尔干净的构建和重新部署有时会解决问题,但并非总是如此。它并不总是同一个表(尽管如果发生错误,它会继续使用相同的查询)。

只是在外面试一下,看看是否有人以前遇到过这样的问题,以及他们可能发现了什么来解决它。

0 投票
4 回答
12182 浏览

sql - 如何从 PL/SQL 函数或过程内部访问 Oracle 系统表?

我正在尝试从函数中访问 Oracle 元数据表中的信息。例如(有意简化):

当我尝试在 sqlplus 进程中执行此命令时,出现以下错误:

我知道用户可以访问该表,因为当我从同一个 sqlplus 进程执行以下命令时,它会显示预期的信息:

结果是:

我需要做些不同的事情吗?

0 投票
3 回答
11968 浏览

database - Oracle 数据库中表触发器的多模式特权

我正在尝试编写一个表触发器来查询触发器所在的架构之外的另一个表。这可能吗?似乎我在架构中查询表没有问题,但我得到:

尝试查询我的架构之外的表时。

编辑

对于第一次没有提供尽可能多的信息,我深表歉意。我的印象是这个问题更简单。

我正在尝试在表上创建一个触发器,该触发器根据某些数据的存在来更改新插入的行上的某些字段,这些数据可能存在于或可能不在另一个模式中的表中。

我用来创建触发器的用户帐户确实有权独立运行查询。事实上,我已经让我的触发器打印了我正在尝试运行的查询,并且能够成功地自行运行它。

我还应该注意,我正在使用 EXECUTE IMMEDIATE 语句动态构建查询。这是一个例子:

触发器接缝在 EXECUTE IMMEDIATE 上失败,并出现前面提到的错误。

编辑

我做了更多的研究,我可以提供更多的澄清。

我用来创建此触发器的用户帐户不是 MAIN_SCHEMA 或任何 OTHER_SCHEMA_Xs。我正在使用的帐户(ME)通过架构用户本身获得了对相关表的权限。例如(USER_TAB_PRIVS):

我有以下系统权限(USER_SYS_PRIVS):

这是我在 Oracle 文档中找到的:

要在另一个用户的架构中创建触发器,或者从您的架构中的触发器引用另一个架构中的表,您必须具有 CREATE ANY TRIGGER 系统权限。使用此权限,触发器可以在任何模式中创建,并且可以与任何用户的表相关联。此外,创建触发器的用户还必须对引用的过程、函数或包具有 EXECUTE 权限。

此处:Oracle 文档

所以在我看来这应该可以工作,但我不确定它在文档中所指的“执行特权”。

0 投票
1 回答
1400 浏览

mysql - 将 Django 项目从 MySQL 迁移到 Oracle

我有一个 Django1.1 项目,它适用于旧版 MySQL 数据库。我正在尝试将此项目迁移到 Oracle(xe 和 11g)。我们有两个迁移选项: - 使用 SQL 开发人员创建迁移 sql 脚本。- 使用 Django 固定装置。

使用 sql developer 的 sql 脚本创建的架构与从 syncdb 创建的架构不匹配。例如,Django 需要 TIMESTAMP 列,而 sql developer 创建 DATE 列。

使用带有 Django 设备的 syncdb 可能很棒,但是当尝试将 MySQL 设备加载到 Oracle 中时,使用 syncdb 后,我得到: IntegrityError:ORA-00001:违反唯一约束(USER.SYS_C004253)

如何找到造成完整性错误的部分?

更新:按照我尝试过的 django 邮件列表中的建议:

  1. 在连接到 MySQL 时转储所有内容:python manage.py dumpdata > fixture.json

  2. 使用空架构创建了一个新的 Oracle 用户并将 db 连接切换到 Oracle(没有执行 syncdb)

  3. 使用以下命令将数据加载到 Oracle:python manage.py loaddata fixture.json

我在使用 loaddata 时没有收到错误,但是在运行服务器并导航到 localhost:8000 时,我得到:ORA-00942:表或视图不存在

谢谢

0 投票
4 回答
30292 浏览

oracle - 无法使用 DBMS_AQADM.DROP_QUEUE_TABLE 删除 Oracle 队列表

我正在尝试将意外安装的 LOG4PLSQL 清理到错误的(即 SYS)模式中。有一个名为的队列表QTAB_LOG需要消失。我已成功停止并删除了关联的队列:

但删除队列表本身失败:

出现此错误:

当然,以正常方式删除表格:

不允许:

我究竟做错了什么?

0 投票
2 回答
7066 浏览

sql - 我可以跨数据库创建外键吗?

我们有 2 个数据库 - DB1 和 DB2。

我可以在 DB1 中创建一个与 DB2 中的一个表有关系的表吗?换句话说,我的表中可以有来自另一个数据库的外键吗?

我用不同的用户连接到这些数据库。有任何想法吗?

现在,我收到错误:

ORA-00942: 表或视图不存在

0 投票
2 回答
1411 浏览

hibernate - 为什么 org.hibernate.JDBCException 不打印堆栈跟踪中的 sql 语句

当 org.hibernate.JDBCException 发生(或此异常的子类型)时,sql 语句在 Stacktrace 中不可见。

例如,如果我使用 hibernate 执行以下 SQL 语句(在没有表或视图“nonexsiting”的 Oracle DB 上):

我得到以下堆栈跟踪:

SQL 语句未显示在堆栈跟踪中,但是 Exception 对象存储了信息并且可以通过exception.getSQL(). 如果堆栈跟踪中也提供此信息,它将极大地加快调试速度。

有人知道为什么堆栈跟踪中没有这些信息吗?或者如何在堆栈跟踪中启用此信息的输出?

顺便说一下,我在这个例子中使用的休眠版本是 3.3.1

0 投票
2 回答
3191 浏览

sql - 无法删除刚刚创建的表

我创建了一个名为dual2. 我在那里有一排,可以从中选择。尝试删除它时,会产生以下错误:

第 1 行出现错误:
ORA-00604:递归 SQL 级别 1 发生错误
ORA-00942:表或视图不存在

但是,该表仍然存在!它从dba_tables和返回user_tables

关于这里发生了什么的任何想法?

替代文字 http://img180.imageshack.us/img180/6012/28140463.png

这是我从 plsql 开发人员那里获得的表创建脚本:

PS:p.cambell 感谢编辑!对不起我的英语不好:)

0 投票
3 回答
293 浏览

java - servlet 中的 sql 语句无效

在登录页面中,我验证了用户是否可以进入系统,我制作了验证用户的方法:

它在桌面应用程序中正常工作,但是当我在 servlet 中尝试它时,表或视图不存在?但是我的数据库中已经存在该表了??有人可以告诉我问题出在哪里吗?

这是方法