-2

Java 파일에서 특정 스키마의 PL/SQL을 호출하면 실행되고 결과가 검색됩니다. 두 PROC 있습니다 내가Java에서 "PL/SQL : Statement ignored"오류가 발생했습니다.

오전 X 스키마와 y 스키마에서 A와 B의 선물을 말 :

Message: `ORA-06550: line 1, column 7: PLS-00201: identifier 'TEST2' must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored` 

예 : 나는 다른 스키마의 동일한 Java 파일에서 다른 PLSQL를 호출 할 때이 오류가 말을 보여줍니다 test.java 파일에서 호출 :

CallableStatement csforST= connection.prepareCall("{ call A() }"); 
csforST.execute(); 

잘 작동합니다.

는하지만 호출 할 때 : 그것은 오류라고 B가 선언되어야 표시

CallableStatement cs= connection.prepareCall("{ call B() }"); 
cs.execute(); 

.

+5

코드를 표시 할 수 있습니까? – Rob

+0

일반적으로 누락 된 데이터베이스 부여 또는 동의어를 나타냅니다. – GriffeyDog

+0

물론 Robuust 두 PROC 있습니다 A와 X 스키마와 y 스키마 B 존재 내가 이 된 CallableStatement csforST = connection.prepareCall (파일 test.java 아래를 호출하고 "{전화 A()}"라고); csforST.execute(); // 잘 작동합니다. // 전화 할 때 CallableStatement cs = connection.prepareCall ("{call B()}"); cs.execute(); // B가 선언되어야한다고 말하는 오류를 표시합니다. Griffey : 데이터베이스 부여 또는 동의는 의미합니까?. 나는 데이터베이스 스키마의 연결을 점검했다. 연결되었다. 나는 데이터베이스에 연결되어 있음을 알려주는 플러그 심볼을 보여 준다는 점에서 SQLdeveloper를 사용하고있다. – Sathish

답변

0

그리피 당신은 내 하루를 대단히 감사합니다. 그래, 그리피가 한 말이 맞다. 그것은 간단하지만 그것을 찾으려면 하루를 보냈습니다. 이후 나는 저장된 프로 시저를 호출하는 새로운입니다.

실제로 연결에 필요한 사용자 이름과 암호가 있습니다. 사용자 이름에 다른 스키마에 대한 권한이 없습니다. 따라서이 스키마에 대한 액세스 권한이있는 userNaming과 새로운 연결을 만든 다음 다른 proc를 호출했습니다. 그것은 지금 잘 작동 :).

나 같은 선발 투수에게 유용 할 것 같네요.

감사합니다. 그리피