問題タブ [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.
sql - Oracleがどのテーブルまたはビューが存在しないかを通知しないのはなぜですか?
Oracleを使用したことがある場合は、「ORA-00942:テーブルまたはビューが存在しません」という役立つメッセージが表示される可能性があります。メッセージに欠落しているオブジェクトの名前が含まれていない正当な技術的理由はありますか?
これについての議論は、TSAによって作成されたように聞こえるセキュリティによるものです。私が攻撃者であれば、どのテーブルを悪用しようとしたかがわかり、この役に立たないメッセージを簡単に解釈できます。私がアプリケーションコードのいくつかのレイヤーを介して複雑な結合を処理している開発者である場合、それを判断するのは非常に難しいことがよくあります。
私の推測では、このエラーが最初に実装されたとき、誰かがオブジェクト名を追加することを怠りました、そして今、人々はそれを修正するために互換性を壊すのではないかと心配しています。(エラーメッセージの解析などのばかげたことを行うコードは、変更されると混乱します。)
欠落しているテーブルの名前を判別するための(DBAを採用するのではなく)開発者にとって使いやすい方法はありますか?
トピックに関連する回答を受け入れましたが、実際には私の質問に答えていません。エラーメッセージの名前の部分がないのはなぜですか。誰かが本当の答えを思い付くことができれば、私は私の投票を変更させていただきます。
sql - Sqlplus のシステムとして、別のユーザーのテーブルをクエリするにはどうすればよいですか?
system_privilege_map から選択した名前によると、システムは付与されています:
...その他多数 * ANY TABLES.
地味に走る
...与えられた応答をネットします:
1 行目のエラー: ORA-00942: テーブルまたはビューが存在しません
そのユーザーとしてログインし、同じコマンドを問題なく実行できます。
私は、一般ユーザーのDBテーブルに対してクエリ(この場合は選択)を実行できるはずであるという前提で実行しています。私の仮定は正しいですか?もしそうなら、どうすればいいですか?
java - ORA-00942: table or view does not exist : How do I find which table or view it is talking about
We're running a java/hibernate app going against ORACLE 10g in TESTING. Once in a while, we're seeing this error:
ORA-00942: table or view does not exist
Is there a way to find out which table/view(s) ORACLE is talking about ?
I know that I can add extra levels of logging in hibernate which will show all the SQL that it executes on ORACLE and then run that SQL to figure out which TABLE/VIEW is missing or missing permission. But given that it is in TESTING/STAGING, that will slow down performance.
Is there a simple way to narrow down on the Table/View Name ?
UPDATE :
Just so you know, I don't have control over the Oracle DB Server Environment.
I enabled Hibernate tracing/logging and found a VALID SQL. I even put Wireshark(which is a TCP packet filter) to see what hibernate actually sends and that was a valid SQL. So, why would Oracle complain about it once in a while and NOT always.
oracle - Oracle 9i: シノニム表が存在しない?
別のアプリケーションから呼び出す予定のストアド プロシージャを含むパッケージを作成しました。ストアド プロシージャは、スキーマ内のすべてのビューとテーブルの並べ替えられたリストを返します。これを行うには、次に示すように、DBA_TABLES および DBA_VIEWS シノニムに対して単純な選択を実行します。
問題のシノニムが存在し、公開されていることを確認しました。
私の理解では、それらは公開されているため、それらにアクセスするための追加の権限は必要ありません。その理解が間違っている場合は、誰かが私の概念を誤解させ、より正確なデータを指摘してくれることを願っています.
ここで私の問題があります。Oracle SQL Developer でワークシートを開き、これらのテーブルから問題なく選択できます。意味のあるデータをうまく取得できます(実際には567行)。しかし、ストアド プロシージャを実行しようとすると、以下に示すように、Oracle はコンパイル エラーを返します。
2 番目のエラー メッセージをダブルクリックすると、SQL Developer によって最初の FROM 句 ("FROM DBA_TABLES") に移動します。
だから私はかなり困惑しています。SQL Server はよく知っていますが、Oracle は初めてなので、ご容赦ください。手がかりを提供していただけるか、正しい方向に向けていただければ幸いです。
前もって感謝します!
sql - Oracle WITH CLAUSE が機能しない?
クエリで WITH 句を使用しようとしていますが、メッセージが引き続き表示されます
ORA-00942: 表またはビューが存在しません
ここでは、例として簡単なクエリを作成しようとしました。
WITH
テスト AS
(
SELECT COUNT(Customer_ID) FROM Customer
)
SELECT * FROM テスト;
しかし、これでも機能しません。メッセージが表示されるだけです。
SELECT * FROM テスト; 2 3 4 5 6 SQL>
SELECT * FROM test
* 行 1 のエラー:
ORA-00942: テーブルまたはビューが存在しません
私はこれまで WITH 句を使用したことがありません。ここで欠けている簡単なものはありますか? Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod を使用しています。アドバイスをいただければ幸いです。ありがとう。
sql - ストアド プロシージャ (PL/SQL) 内から dba_tab_cols から選択できません
ストアド プロシージャ内から dba_tab_cols ビューから SELECT しようとしています。機能していません。その理由はわかりません。
次のSQLをクエリとして実行すると:
それは正常に動作します。ただし、次のようにストアド プロシージャにコピーすると、次のようになります。
「PL/SQL: ORA-00942: テーブルまたはビューが存在しません」というエラー メッセージが表示され、コンパイル中にエディタで dba_tab_cols が強調表示されます。どちらの場合も、同じ db ユーザーが使用されています。
dataType は次のように宣言されます: dataType varchar2(128);
PL/SQL (オラクル 9)
誰でも問題を知っていますか?
sql - 複数の結合を持つ Oracle ビューは、引用符を使用した場合にのみ認識されます - なぜですか?
Oracle ビューで SQL クエリを実行しているときに、奇妙な動作が発生しました。ビューには複数の結合が含まれています。通常のSQLを入力すると:
なぜだろう?
以下は私のSQLです:
sql - dba_jobs_running:プロシージャからアクセスしようとしたときに、テーブルまたはビューが存在しません
次のようなものを使用して実行中のジョブをクエリするだけです
sqldevelopersSQLコンソールで実行すると正常に動作します。
ただし、プロシージャ内にまったく同じステートメントがある場合は機能しません。コンパイルが失敗する
何か案は?考慮すべきスコープのようなものはありますか?
事前に感謝します、どんな提案も大歓迎です:)
oracle - Crystal report 11 でスキーマ名を変更するには?
レポートは Crystal Reports XI で設計されています。
CR Oracle ODBC ドライバー 4.1 を使用して、Oracle データベースへの ODBC 接続を使用します。
このレポートを、同じ ODBC DSN を使用する 14 のサイトに簡単に配布する必要がありますが、各サイトのデータベースの所有者やスキーマ名は異なります。
Business Objects の指示に従って、レポート内の各テーブルの完全修飾名を変更しました。
[データベース] メニューで、[データソースの場所の設定] をクリックします。[データソースの場所の設定] ダイアログ ボックスが表示されます。
[現在のデータ ソース] 領域で、現在の接続のリストを展開して、レポートの各テーブルを表示します。
レポートの各テーブルについて:
私。[プロパティ] リストを展開します。
ii. [上書きされた修飾テーブル名] をクリックし、F2 キーを押すかダブルクリックします。
iii. カーソルをテキストの末尾に移動し、テーブル名を入力します。
iv。Enter キーを押します。
エラーが発生しています
クリスタルレポート
データベースからデータを取得できませんでした。
詳細: ORA-00942: 表またはビューが存在しません
[データベースベンダーコード: 942 ]
これらのエラーを修正するか、これらの Oracle レポートの移植性を高めるためのより良い方法が必要です。
oracle - Oracle 10: ストアド プロシージャまたはパッケージ内のテーブルへのパブリック シノニムにアクセスすることは可能ですか?
しばらくの間、Oracle のパッケージまたはストアド プロシージャにパブリック シノニムへの参照を追加しようとしましたが、テーブルに直接アクセスする以外にこの問題の解決策があるかどうか疑問に思っています。例えば:
この手順が何もしないことはわかっていますが、これは単なる例です。テーブル「test_synonym」は、実際には別のスキーマ内のテーブルに対するパブリック シノニムです。そのテーブルへの選択権限はありますが、これを繰り返しコンパイルしようとするとエラーが発生します。
御時間ありがとうございます。