私は単純なクエリを使用していますが、putデータベースでsqldeveloperを実行しますが、別のベンダーデータベースからデータを選択します。 db_linkが作成されました。実行クエリがvendortのデータベースに接続できません。たとえdblinkが存在しても
select some_files from mytable trd, vendordbname.vendortable
where(condition)
と私はエラーを取得する:しかし、私は私のプロCプログラムのように、実行
ORA-00942: table or view does not exist
00942. 00000 - "table or view does not exist"
*Cause:
*Action:
Error at Line: 25 Column:
私はそれを実行するために、見つけなければならない解決策はどのような? dblinkの名前を使用しますか?または、他の何か?私はそれがプロCで実行する場合、すべてがUNIXとsqlplusをに設定し、
おかげ
DB_LINKは、特定のユーザーとして実行されます。ユーザーがvendordbname.vendortableへのアクセス権を持っていないように見えます。 'Select * from all_DB_LINKS; 'は、そのシステムビューから選択する権限を持っているすべてのリンクとユーザを表示します。これにより、リンクが動作しているユーザーが適切な権限を確認できるようになります。 – xQbert
しかし、私が手動で実行したとしても、プログラムはQAと本番サーバで正常に動作していますが、唯一の私はsqldeveloperから実行できません。私はall_db_linkをチェックしましたが、すべてが存在しました – SamOl
私は問題に従っているかどうかわかりません。あなたは自分自身でログインしているSQL開発者で、dev/test/prod環境でクエリを実行でき、それが動作すると言っていますか?しかし、アプリケーションを実行すると失敗します(ちょうどprod?)Pro Cアプリケーションのユーザーにアクセス権がないリンクを指しているシノニムが使用されていますか? – xQbert