2012-02-24 15 views
0

テーブルからアクセスしようとすると「テーブルまたはビューが存在しません」というエラーが表示されます。 PHP経由でOCIドライバでPDOを使用しています。 私は、PHPを使用してOracleを使用する際の助けを捜すのに非常に苦労しています。私はselect * from entriedLevelsをしようとするとPHPでoracleを使用して「テーブルまたはビューが存在しません」

$dbh = new PDO("oci:dbname=listst", DB_USER, DB_PASS); 

私は(entriedLevelsが存在し、ユーザーがアクセス権を選択しているにもかかわらず)バック何も得ます。

私が試してみたらselect OBJECT_NAME from user_objects where object_type = 'TABLE'私は戻って何も得られません。

私が試してみたらselect TABLE_NAME from all_tables私は最終的にすべてのテーブルを見ることができます。

私は虚偽の書き込みをお詫び申し上げます。金曜日の長い一日の終わりです。

+0

このテーブルはユーザーのスキーマにありますか?いいえの場合、 'user_objects'から選択すると返されません – Dan

+1

あなたのクエリに完全なschema.tablenameを使ってみてください。データベースに接続しているすべてのテーブルからTable_nameを選択することができます。私の推測では、接続文字列がデータベースを指定していないか、途中で何かが失われているため、db接続がどのスキーマにアクセスするのかわからないということです。 – Brian

+0

提供された1つの回答と同じです。 これを見た人は、「ああ、何のn00b」と思っていたのでしょうか?まあ、私はオラクルにはまったく新しいもので、最悪の場合SQLには新しくないので、エラーメッセージがちょっとわかりにくいという事実と合わせて、正しくやっていると思います。 私はキーが "ビューが存在しない"ことを認識し、ビューを実現すると仮定し、現在のユーザーに関連する現在のパースペクティブを意味し、次にGoogleのパースペクティブまたはビューとオラクル、あなたは何が起こっているのか知って幸せです。 慌てて、散歩する... –

答えて

4

2つの選択肢が頭に浮かぶ:

  • は、それが中のスキーマの所有者とテーブル名を修飾:

はOWNER.entriedLevels

    から選択します*
  • テーブルのパブリック・シノニムを作成します。

CREATE PUBLIC SYNONYM entriedLevels FOR OWNER.entriedLeveles;

関連する問題