質問: ストアドプロシジャからデータベースリンクを使っての参照について oracleツールのjdeveloperを使って、pl/sqlでストアドプロシジャを作成しています。 (oracleは9i) dbが2つありまして(db-aとdb-bとする)、 db-bから、データベースリンクを介してdb-aのテーブルを参照しています。 (select * from xxxxx.テーブル名@データベースリンク名) db-bに接続してsql*plus上で上記select文を実行すると正しく処理されるのですが 上記select文が組み込まれているdb-b上のプロシジャをコンパイルすると、 「ora-04052」が返ってきてしまいます。 エラーコードを調べると、 db-a側のテーブルを参照できていないようで、 「kglr.sqlが実行されていることを確認してください」とのことなのですが、 この「kglr.sql」とやらが何者かわかりません。 タチの悪いことに、上記の現象が出る端末と出ない端末があります。 みんな同じidでログインしているので権限の問題ではないと思ってるのですが・・・ 「kglr.sql」は置いといて、このような事象に出くわしたことのある方、 推測でもなんらかの情報をお持ちの方がいらっしゃいましたらご教授ください。 よろしくお願い致します。
回答: catrpc.sqlですがクライアントにはインストールされませんのでサーバー側にしかありません。もしも、サーバー側も検索されたとなるとインストールに失敗している恐れがあるかも...。(あまり不安にはならないでください。) あった場合の実行方法ですが、 1.sql*plusを起動 2.sysで接続(conn sys/[passwrod]@[dbname]) 3.実行(@c:\oracle\ora92\rdbms\admin\catrpc.sql) また、不明点がありましたら、補足お願いします。