Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;“表或视图不存在”;通过PHP上的oracle_Php_Oracle_Oracle10g_Pdo_Oracle Call Interface - Fatal编程技术网

&引用;“表或视图不存在”;通过PHP上的oracle

&引用;“表或视图不存在”;通过PHP上的oracle,php,oracle,oracle10g,pdo,oracle-call-interface,Php,Oracle,Oracle10g,Pdo,Oracle Call Interface,当我试图从表中访问任何数据时,会出现错误“表或视图不存在”。 我通过PHP将PDO与OCI驱动程序一起使用。 我一直很难通过PHP找到使用oracle的帮助 $dbh = new PDO("oci:dbname=listst", DB_USER, DB_PASS); 当我尝试从EntriedLevel中选择*时,我没有得到任何回报(即使EntriedLevel存在并且用户具有select访问权限) 当我尝试从user\u objects中选择OBJECT\u NAME,其中OBJECT\u t

当我试图从表中访问任何数据时,会出现错误“表或视图不存在”。 我通过PHP将PDO与OCI驱动程序一起使用。 我一直很难通过PHP找到使用oracle的帮助

$dbh = new PDO("oci:dbname=listst", DB_USER, DB_PASS);
当我尝试从EntriedLevel中选择*时,我没有得到任何回报(即使EntriedLevel存在并且用户具有select访问权限)

当我尝试
从user\u objects中选择OBJECT\u NAME,其中OBJECT\u type='TABLE'
时,我什么也没有得到

当我尝试从所有表格中选择表格名称时,我最终可以看到所有表格


我为我拙劣的写作道歉,这是周五漫长一天的结束。。。有点脑死亡。

我想到了两种选择:

  • 使用其所在架构的所有者限定表名:
从OWNER.entriedLevel中选择*

  • 为表创建公共同义词:
为OWNER.entriedLevels创建公共同义词entriedLevels


我想到了两种选择:

  • 使用其所在架构的所有者限定表名:
从OWNER.entriedLevel中选择*

  • 为表创建公共同义词:
为OWNER.entriedLevels创建公共同义词entriedLevels


此表是否在用户的架构中?如果否,则从
user\u objects
中选择时不会返回该值,请尝试在查询中使用完整的schema.tablename。因为您可以从连接到数据库的所有表中获取select Table_名称。我的猜测是,要么连接字符串没有指定数据库,要么它是一个正在丢失的东西,因此db连接不知道要访问哪个架构。您是正确的,提供的答案也是正确的。我相信任何看到这一幕的人都会想“哦,天哪,多棒的n00b”。嗯,我对oracle是全新的,最糟糕的是,我对SQL并不陌生,所以我认为我做的事情是正确的,再加上错误消息有点神秘。我想关键是要注意“视图不存在”并实现视图,即您当前的透视图,可能与当前用户相关,然后您可以通过谷歌透视图或视图和oracle,找到模式,然后高兴地知道发生了什么。Ramble,Ramble…这个表在用户的模式中吗?如果否,则从
user\u objects
中选择时不会返回该值,请尝试在查询中使用完整的schema.tablename。因为您可以从连接到数据库的所有表中获取select Table_名称。我的猜测是,要么连接字符串没有指定数据库,要么它是一个正在丢失的东西,因此db连接不知道要访问哪个架构。您是正确的,提供的答案也是正确的。我相信任何看到这一幕的人都会想“哦,天哪,多棒的n00b”。嗯,我对oracle是全新的,最糟糕的是,我对SQL并不陌生,所以我认为我做的事情是正确的,再加上错误消息有点神秘。我想关键是要注意“视图不存在”并实现视图,即您当前的透视图,可能与当前用户相关,然后您可以通过谷歌透视图或视图和oracle,找到模式,然后高兴地知道发生了什么。Ramble,Ramble…或者更好的方法是在tablename指向schema.tablename的位置使用私有同义词,这样同名但来自不同架构的tablename不会发生冲突,或者更好的方法是在tablename指向schema.tablename的位置使用私有同义词,这样同名但来自不同架构的tablename不会发生冲突