❶ java调用oracle存储过程到execute()就卡住了debug看了一下就是走到execute()这就卡住了
那说明你的存储过程没有返回结果啊,你得首先保证你得过程在pl/sql中有效率的执行为前提。
❷ 有人在吗 mysql + java +ibatis 调用存储过程卡死了 但是存储过程已经执行成功了,数据库数据已经进去了
你看下你在java的层,用什么方法调用的存储过程,是Insert还是query
❸ 如何强行中止存储过程的执行
找你的DBA把你这个session给KILL掉
❹ plsql编译存储过程卡死
1、查看一下Oracle数据库中的正在运行的进程是否正在运行该程序,如果有的话把进程停止
2、全部关闭重开或者换一个PLSQL试一下,看看是不是PLSQL本身导致的问题
3、如果都不好用先尝试重启一下PLSQL所在的服务器(如果可以重启的话)
先试试上述方法
❺ plsql调试存储过程执行卡住
1、存储过程中是否有 LOOP ?
如果有 的在end loop 添加 EXIT WHEN 游标名%NOTFOUND (意思是如果没有这个游标,就跳出)
2、没有loop 的话
手动停止掉当前的存储过程吧。语句如下:
--先查运行的存储过程sid
select /*rule*/ sid from v$access where object='存储过程名'
--通过sid 找到serial
select sid ,serial#,paddr from v$session where sid='上一句查到的sid'
--kill 掉存储过程
alter system kill session 'sid','serial#'
❻ SQL存储过程比SQL语句慢,甚至卡死
楼主,你好!这个排版屌爆了%>_<%
USE[HERP_BHYY]
GO
/******对象:StoredProcere[dbo].[sp_]脚本日期:12/03/201308:36:35******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
ALTERPROCEDURE[dbo].[sp_]
@ImpDateasDATETIMEASBEGIN
--SETNOCOUNTON;
DECLARE@ST_DATEASDATETIME
DECLARE@ED_DATEASDATETIME
DECLARE@TEMP_DATEDATETIME
IF@ImpDateisnotnull
begin
SET@ST_DATE=LEFT(@ImpDate,10)
SET@ED_DATE=dateadd(day,1,@ST_DATE)
end
deletehisdb2.dbo.his_charge_acc_o
wherecharge_date>=@ST_DATEandcharge_date<@ed_date
insert=""into=""hisdb2.dbo.his_charge_acc_o=""
select=""invoice_type=""from=""
where=""charge_date="">=@ST_DATEandcharge_date<@ED_DATE
end
这样不是挺好么?
上面的SQL语句貌似漏了什么东西,你自己看看
❼ ORACLE 存储过程无法编译,编译就卡死
你怎么查的锁?v$locked_object?dba_ddl_locks查了没,可能是ddl的锁,如果不能编译,一编译就死,也可能是ddl的锁导致的,以前碰到过。如果能找到锁,那就简单了。
不过还碰到过一种特别扯淡的情况,关掉自己的连接,然后换一台电脑从新来过,就OK了,这种情况也碰到过。