2016-04-05 40 views
1

を宣言する必要があります私はapplication.HereがPLS-00201:識別子「GETALLNAMES」は

create or replace procedure getAllNames 
is 
CustomerName varchar2(30); 
BEGIN 
select name INTO CustomerName from customer; 
DBMS_OUTPUT.PUT_LINE(CustomerName); 
END; 
/

とき、私、私の手順で店procedure.Iに取り組んでのOracle 11gでプロシージャを作成し、私のJavaでプロシージャを呼び出すしていますjavaでプロシージャを呼び出すとエラーが発生します

PLS-00201: identifier 'GETALLNAMES' must be declared 

私がここでやっている間違いを教えてください。私は感謝しています.... :)

+3

あなたの質問を編集して、SPを呼び出すために使用しているJavaコードを追加してください。 –

答えて

0

編集:javaや他の外部アプリケーションの2つの方法のいずれかでプロシージャを呼び出すことができます。

  1. プロシージャが存在するのと同じスキーマに接続します。

  2. またはスキーマ/ユーザーに実行PROC上の権限を与え、あなたはJavaでログインしている

前の回答:

これは、プロシージャ名および呼び出しの前にスキーマ名を使用してお勧めします同じように。

create or replace procedure GETALLNAMES 
as 
CustomerName varchar2(30); 
BEGIN 
select name INTO CustomerName from customer; 
DBMS_OUTPUT.PUT_LINE(CustomerName); 
END; 
/
+0

私は変更を行ったが問題は解決しました – Asad

+0

プロシージャを呼び出すときに同じスキーマに接続していますか?そうでなければ、Javaでログインしているスキーマ/ユーザへのprocの実行権限を与える必要があります。 – Utsav