Java 调用SQL过程:SQL异常-代码:6550 ORA-06550

Java 调用SQL过程:SQL异常-代码:6550 ORA-06550,java,sql,jdbc,oracle10g,Java,Sql,Jdbc,Oracle10g,尝试调用SQL过程: PROCEDURE Incident_inqr (MSISDN IN VARCHAR2 , Topic IN varchar2 ,Incident_id IN varchar2 default '20120401' , RESULT OUT number ); java JDBC字符串: SQL command: begin ? := SMASTER.SERVICE.Incident_inqr ( '9308000050','6345_NN','20120401', ?

尝试调用
SQL
过程:

PROCEDURE Incident_inqr
(MSISDN IN VARCHAR2
, Topic IN varchar2
,Incident_id IN varchar2 default '20120401' 
, RESULT OUT number
);
java JDBC字符串:

SQL command: begin ? := SMASTER.SERVICE.Incident_inqr ( '9308000050','6345_NN','20120401', ?); end;
错误(我得到的是俄语):

SQL异常-代码:6550 ORA-06550:Сааа1,Сааа13:PLS-00222: 事故 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);

事件\u inqr
是一个程序。因此,它没有返回值,只有
out
参数

这样称呼它的正确方式是:

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

此外,该过程需要是架构中名为“服务”的包的一部分/属于用户
SMASTER

事件\u inqr是一个过程。所以它没有返回值,只有out参数。
cs.registerOutParameter(1, oracle.jdbc.driver.OracleTypes.NUMBER);