程序跑的过程中一切正常,链接的是db2资料库,
rs = stat.getResultSet();
就是当if (rs != null) {
while (rs.next()) {
执行到这里的时候,整个画面就卡住不动了。
请大家帮忙看看什么情况。控制台无任何异常。
执行的不是sql是存储过程。 stat = conn.prepareCall("CALL " + EServicingHelper.getDBSchema() +
"SP_ESERV_GET_CLT_INFO_BY_NAME(?,?,?,?,?,?,?)");
rs = stat.getResultSet();
就是当if (rs != null) {
while (rs.next()) {
执行到这里的时候,整个画面就卡住不动了。
请大家帮忙看看什么情况。控制台无任何异常。
执行的不是sql是存储过程。 stat = conn.prepareCall("CALL " + EServicingHelper.getDBSchema() +
"SP_ESERV_GET_CLT_INFO_BY_NAME(?,?,?,?,?,?,?)");
解决方案 »
- 求java的学生成绩管理系统源代码
- 求jsp部分增加的写法
- webservice接口设计,请教
- 求解,tomcat下root路径的servlet找不到
- IBM portal Access Manager Policy server配置失败!!
- 开发平台建设基于java struts2 spring jsp jquery
- Session.delete()的问题
- 俺的ant 运时出现以下错误是为什么...
- 局域网内正常,安装时jms超时,监听处收不到消息
- 手动搭建SSH需要导入哪些jar包?求大牛解答
- 求spring 3整合hibernate 3的配置
- 求一个JNI调用VS2010生成的dll的例子
SP_ESERV_GET_CLT_INFO_BY_NAMEjava端将将执行命令发给数据库服务器后,数据库在执行该存储过程的时候出现了死循环或者其他原因迟迟没有放回数据。原因有二:
1。数据库的存储过程创建的有问题,建议你在数据库端用SQL 执行以下。
2。java短程序在给存储过程装载参数时出现数据异常,导致数据库在用传递过来的参数实行SQL的时候出现死循环或是其他原因至迟迟没有返回结果。
原因查明:該存儲過程無問題,只是要等大約20-30分鐘左右,這段code才會繼續執行下去,執行完畢。深層原因還是不明。
所以这时应该无关是执行的存储过程还是sql,因为结果已经返回。
我觉得是和结果集相关。
when others then
rollback;。然后在Java里面加try catch ,在设置断点一步一步跟进。
非常确定只是一句next()就消耗了2,30分钟。
next()时应该是数据集已经全部在内存中了(不是100%确定),這個不太明白。其他人說的或許有一定道理,比如資料庫死鎖,很有可能。但是我無法得知。但是存儲過程絕對沒有問題,因為這個系統02年上線用到現在了,都運營了好多年,存儲過程是沒有問題的。
确定只是一句next()就消耗了2,30分钟。
不能排除是否是資料庫死鎖問題造成。