2012-03-30 1 views
3

SQL 프로 시저를 호출하려고 :SQL 프로 시저 호출 : SQL 예외 - 코드 : 6550 ORA-06550

PROCEDURE Incident_inqr 
(MSISDN IN VARCHAR2 
, Topic IN varchar2 
,Incident_id IN varchar2 default '20120401' 
, RESULT OUT number 
); 

자바 JDBC 문자열 :

SQL command: begin ? := SMASTER.SERVICE.Incident_inqr ('9308000050','6345_NN','20120401', ?); end; 

오류 (I 러시아에서 받고 있어요)

SQL 예외

- 코드 : 6550 ORA-06550 : 1 Строка 13 столбец : PLS-00222 : функция с именем 'INCIDENT_INQR'не существует в этой области действия ORA-06550 : Строка 1, столбец 7 : PL/SQL : 문이

을 무시

번역 :

SQL 예외 - 코드 : 6550 ORA-06550 : 행 1 열 13 : PLS-00222 : 호출 함수 'INCIDENT_INQR'이 작용 영역에 존재하지 않는 ORA-06550 : 행 1 열 7 : PL/SQL : 문 무시

을 출력 ? 등록 :

cs.registerOutParameter(1, oracle.jdbc.driver.OracleTypes.VARCHAR); 
cs.registerOutParameter(2, oracle.jdbc.driver.OracleTypes.NUMBER); 

답변

2

Incident_inqr는 과정이다. 따라서 반환 값은없고 out 매개 변수 만 있습니다.

따라서 호출하는 적절한 방법은 다음

begin SMASTER.SERVICE.Incident_inqr ('9308000050','6345_NN','20120401', ?); end; 

...

cs.registerOutParameter(1, oracle.jdbc.driver.OracleTypes.NUMBER); 

는 또한, 프로 시저가 속하는 스키마 /에서 '서비스'라는 패키지의 일부일 필요 사용자에게 SMASTER.

+0

_Incident_inqr은 절차입니다. 따라서 반환 값은 없지만 out 매개 변수 만 있습니다 ._ <- 그게 문제였습니다. – VextoR