在java中调用oracle 10g的存储过程
如下:
callStat = conn.prepareCall("{call MAP_T_RETI_OUTMONITOR.ETL_PROCEDURE()}");
callStat.execute();
callStat.close();
此存储过程在在数据库中执行需要3分钟现在想通过java调用以下存储过程,执行完毕返回一个执行成功的一个标示!功能已基本现实,就是在调用此存储过程,客户端的ie出现“死锁”,直到存储执行完毕!请教大人,怎么调用可以在调用期间可对页面操作,或者说,不出现"死锁!"
如下:
callStat = conn.prepareCall("{call MAP_T_RETI_OUTMONITOR.ETL_PROCEDURE()}");
callStat.execute();
callStat.close();
此存储过程在在数据库中执行需要3分钟现在想通过java调用以下存储过程,执行完毕返回一个执行成功的一个标示!功能已基本现实,就是在调用此存储过程,客户端的ie出现“死锁”,直到存储执行完毕!请教大人,怎么调用可以在调用期间可对页面操作,或者说,不出现"死锁!"
关键是怎么可以把这个“死锁”解决掉!
你能给我大概说一下吗?!
谢谢!
您能详细地和我说一下实现嘛?!
你是在jsp中直接调用存储过程,用户访问这个页面时当然要等执行完成之后才会生成最终的html页面并返回给用户。
如果改成这样:当用户点击页面上一个“执行”按钮后,以异步方式调用后台程序,等待结果返回,在这个等待过程中,用户页面并没有受到影响,ajax的方法本来就是多线程。
新开线程的话似乎也不能满足你的要求,因为你的页面总要等结果计算出来以后才能显示。
我可能没接触ajax
但是实现基本和你说的一样!
js较要执行的送到后台,由专门的java类实现,完了返回一个结果,这难道不是你说的ajax??
请赐教!
to 我爱花猫
我可能没接触ajax
但是实现基本和你说的一样!
js较要执行的送到后台,由专门的java类实现,完了返回一个结果,这难道不是你说的ajax??
请赐教!
-------------------------------
差别很大,你这样叫做同步访问。而传说中的ajax是异步调用,好比领导命令你下午必须搞定这个问题,然后她就可以去上网聊天,而你要努力解决问题,完成后再通知她;如果用你现在的方式就是:领导坐在你旁边,一直等着你解决问题后才离开。好累,我闪了……