php - Oracle SELECT 语句不工作 - ORA-00942

标签 php oracle ora-00942

希望是一个简单的问题。

    error_reporting(E_ALL);
    ini_set('display_errors', '1');
    $c = oci_connect('whatmyusrnameis', 'whatmypwdis', 'host');
    if ($c) {
            echo 'connection';

    }
    $s = oci_parse($c, 'select *  from mantis_bug_table');
    oci_execute($s);

结果如下

警告 oci_execute():ORA-00942:表或 View 不存在

但连接不会导致任何错误,数据库表确实存在并且不为空。

有什么想法吗???谢谢 :)。

最佳答案

通常这有四种可能的问题之一

  1. 您没有连接到您认为的数据库(可能不是这样)
  2. 您没有访问该表的权限(请参阅 Justin Cave 关于 Grant 的回答)
  3. 您可能需要将所有者添加到表名中,例如select * from DB_USER.mantis_bug_table(如果您不想限定表名,请参阅 Justin Cave 关于 SYNONYM 的回答)
  4. 该表确实不存在,可能是拼写错误

您可以通过运行以下命令来诊断此问题

SELECT * FROM ALL_TABLES WHERE UPPER(table_name) = 'MANTIS_BUG_TABLE'

关于php - Oracle SELECT 语句不工作 - ORA-00942,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7206709/

相关文章:

Php 找不到 tidy

php - 无法使用ubuntu在GCE实例中通过php连接到mysql数据库

php - Laravel Excel,从模型导出,样式问题

sql - 以编程方式更改数据库连接

sql - 更改表添加约束时出错

java - ORA-00942: 表或 View 不存在

Oracle - 无法删除表

php - mongodb 在使用 php 时出错

SQL 按重复行降序排列

oracle - 在 Oracle 存储过程中访问另一个用户的表