2016-12-19 1 views
-1

バッチジョブで問題なく毎月実行されるデプロイ済みパッケージPack1があります。私は、以下に示すようにいくつかのカスタムパラメータでそれを実行する必要があります。しかし、私は "Pack1が宣言されていなければならない"というエラーを受けています。私はこれを行うためにストアドプロシージャ全体をコピー/ペーストする必要があるとは思いませんか?PL SQLでパッケージを呼び出せません

BEGIN 
Pack1(1 
    ,TO_DATE('2016-06-01', 'YYYY-MM-DD') 
    ,TO_DATE('2016-11-30', 'YYYY-MM-DD') 
    ); 
END 
; 
+0

お客様のパッケージは未定義です。おそらく、パッケージを指し示す同義語を定義する必要があります。または、ユーザーを変更します。 –

+1

正しいユーザーとしてログインしますか?プレフィックスとしてスキーマ名が必要ですか?特権を手に入れましたか? –

+0

ありがとう、私は別のユーザーを試してみましょう。 –

答えて

1

あなたは、パッケージPack1 A及びコールPack1(...)をコンパイル言っています。あるPack1.procedure(...)、それはパッケージ最終的なバージョンを所有しているユーザーと接頭パッケージへのより安全であるコメントで述べたように:あなたはそれがあるべきパッケージしないプロシージャを呼び出す必要がある、あなたがログインしているユーザーならば

BEGIN 
user.Pack1.procedure(1 
    ,TO_DATE('2016-06-01', 'YYYY-MM-DD') 
    ,TO_DATE('2016-11-30', 'YYYY-MM-DD') 
    ); 
END 
/

することも確認してくださいinはパッケージを実行する権限を持っています。まだ動作しない場合は、パッケージコードを共有してください。

+0

助けてくれてありがとう、結局、それは許可の問題だった。 –

関連する問題