程序跑的过程中一切正常,链接的是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使用jxl插件导出excel
- 初出菜鸟
- 当用户登录后,如果他登录的时间超过我的指定的时间,要他重新登录怎么搞
- 如何结束线程?
- 学j2ee的新人可以进来看下,也许对你有帮助.这是我第三次发这样的贴了,每次都帮了一些人。
- 迎五一。JAVA交友散分。欢迎各位大侠留个脚印!!
- ibatis传入参数包含多个对象如何实现
- 大家帮忙啊,,本地session和虚拟主机session在打开新IE窗口时一个有一个没有
- Unicode怎么转换成String(新手请教)
- 小弟刚开始接触JAVA,请教一些问题,大家随便指教,你们都会的!
- 求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分钟。
不能排除是否是資料庫死鎖問題造成。