Navicat for Oracle 执行一次查询然后声明表不存在

Posted

技术标签:

【中文标题】Navicat for Oracle 执行一次查询然后声明表不存在【英文标题】:Navicat for Oracle executes query once then claims table does not exist 【发布时间】:2015-09-24 14:16:34 【问题描述】:

我正在尝试查询支持 PeopleSoft 的 Oracle 数据库。 TOAD 工作正常,但 Navicat 将运行任何语句,然后声明表不存在。我正在使用 Navicat 的评估版。基本连接类型和 TNS 连接类型都会发生这种情况。下面的简单测试运行一次然后生成:[Err] ORA-00942: table or view does not exist

SELECT
    *
FROM
    ps_stdnt_enrl
WHERE
    stdnt_enrl_status = 'E'
AND ROWNUM < 100

【问题讨论】:

【参考方案1】:

您是否尝试过将所有内容都设为大写?我知道 PS 可以特别注意它的数据字典的表名。

添加connectid怎么样?即 PS 表所有者,通常是 SYSADM。这有帮助吗?你能在第一次通过后切换默认架构吗?

另一件事,我知道这并没有真正的帮助,是 PS 数据库,通常有多达 10k 表,是一个更糟糕的情况,有很多数据库实用程序。在普通的定制应用数据库中,没有人需要处理 10K+ 表。当 db 实用程序尝试自动完成时,它可能会阻塞这些卷。

Toad(在 Mac OS 上)往往会剥落,可能是因为这个原因。如果您想实际使用 MS SQL 的 db 管理实用程序,必须小心关闭其自动完成功能,即使这样,您也需要在打开任何类型的系统范围的表管理对话框之前过滤表名。

也许在 Navicat 中有类似的东西你可以关掉。

【讨论】:

以上是关于Navicat for Oracle 执行一次查询然后声明表不存在的主要内容,如果未能解决你的问题,请参考以下文章

navicat for Oracle 的Query视图中,执行sql是默认自动提交的,有没有办法设置成手工提交?

Navicat for MySQL怎样执行SQL语句

navicat for oracle注册机怎么使用

Navicat for MySQL怎样执行SQL语句

navicat for oracle过期怎么解决

Navicat For Oracle如何修改表中的数据呢