命令调用存储过程报错“调用 'XXX(过程名)' 时参数个数或类型错误”,但是测试是可以通过的。
如题,存储过程如下:createorreplaceprocedureCUSTOMER_zrxt(OUTSTRINGoutvarchar2)AuthidCurrent_Us...
如题,存储过程如下:
create or replace procedure CUSTOMER_zrxt
( OUTSTRING out varchar2 ) Authid Current_User
Is
errorcode1 varchar2(300);
errordesc1 varchar2(600);
updateSQL varchar2(2000);
begin
updateSQL:='
select s1 from staff
';
execute immediate updateSQL;
commit;
EXCEPTION
WHEN OTHERS THEN
begin
errorcode1 := sqlcode;
errordesc1 := sqlerrm;
OUTSTRING := errordesc1;
insert into oracle_spERROR
(error, errornum, createddate, type,pro_name,error_guid)
values
(errorcode1,errordesc1, sysdate, 'CUSTOMER_zrxt','CUSTOMER_zrxt',sys_guid());
commit;
end;
end customer_zrxt;
存储过程很简单,主要是为了测试,抛出异常,updatesql执行出来应该是:ORA-00904: "S1": 标识符无效。
测试改存储过程是可以通过的,并且在oracle_spERROR表中是有记录的,但是在命令窗口直行结果如下图报错(题目上的报错),求教各位大神有知道的帮忙指导下,在下感激不尽。 展开
create or replace procedure CUSTOMER_zrxt
( OUTSTRING out varchar2 ) Authid Current_User
Is
errorcode1 varchar2(300);
errordesc1 varchar2(600);
updateSQL varchar2(2000);
begin
updateSQL:='
select s1 from staff
';
execute immediate updateSQL;
commit;
EXCEPTION
WHEN OTHERS THEN
begin
errorcode1 := sqlcode;
errordesc1 := sqlerrm;
OUTSTRING := errordesc1;
insert into oracle_spERROR
(error, errornum, createddate, type,pro_name,error_guid)
values
(errorcode1,errordesc1, sysdate, 'CUSTOMER_zrxt','CUSTOMER_zrxt',sys_guid());
commit;
end;
end customer_zrxt;
存储过程很简单,主要是为了测试,抛出异常,updatesql执行出来应该是:ORA-00904: "S1": 标识符无效。
测试改存储过程是可以通过的,并且在oracle_spERROR表中是有记录的,但是在命令窗口直行结果如下图报错(题目上的报错),求教各位大神有知道的帮忙指导下,在下感激不尽。 展开
1个回答
2015-07-16
展开全部
CallableStatement cs=conn.prepareCall("{call PRC_LINK_DISCOVER (?,?)}");
cs.setString(1, "1");
cs.registerOutParameter(2, java.sql.Types.INTEGER);
cs.execute();
cs.setString(1, "1");
cs.registerOutParameter(2, java.sql.Types.INTEGER);
cs.execute();
追问
抱歉,这个不是太明白,您能附上中文解释么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询