日期:2014-05-20  浏览次数:21130 次

jdbc无法执行存储过程,卡住

create procedure addemp as
begin
insert into emp(empno) values(1111);
end;
/

该存储过程在sqlplus里面执行成功

public static void main(String[] args) throws Exception {
Connection conn = OracleConnection.getConnection();
CallableStatement cs = conn.prepareCall("{call scott.addemp()}");
cs.execute();
conn.close();
}

用jdbc来执行,就一直卡在execute这句上,没反应也不报错,为什么?

------解决方案--------------------
卡在这句上?什么意思?
你是用debug方式启动的吗?java程序执行如果不是debug就只会出现exception或者正常执行完。
除非你调用了阻塞式的方法。
------解决方案--------------------

try {
   cs.execute();
} catch (SQLException se) {
   ......  //错误捕获
}

这样写,看看捕获什么错误,............
------解决方案--------------------
要是没有错误就是卡住的话,那还有一种可能就是你用工具连到了数据库上,改了数据,没有commit
------解决方案--------------------
晕……没仔细看你竟然throws Exception了。。。