在java中调用oracle 10g的存储过程
如下:
callStat = conn.prepareCall("{call MAP_T_RETI_OUTMONITOR.ETL_PROCEDURE()}");
callStat.execute();
callStat.close();
此存储过程在在数据库中执行需要3分钟现在想通过java调用以下存储过程,执行完毕返回一个执行成功的一个标示!功能已基本现实,就是在调用此存储过程,客户端的ie出现“死锁”,直到存储执行完毕!请教大人,怎么调用可以在调用期间可对页面操作,或者说,不出现"死锁!"

解决方案 »

  1.   

    其实我们现在用的可以说是ajax!
    关键是怎么可以把这个“死锁”解决掉!
    你能给我大概说一下吗?!
    谢谢!
      

  2.   

    “其实我们现在用的可以说是ajax!”,你确认是异步调用?
      

  3.   

    就是前台jsp调用一个java类,然后在java类中调用存储过程,页面出现“死锁”!
    您能详细地和我说一下实现嘛?!
      

  4.   

    我想,ajax的概念你并不算熟知……
    你是在jsp中直接调用存储过程,用户访问这个页面时当然要等执行完成之后才会生成最终的html页面并返回给用户。
    如果改成这样:当用户点击页面上一个“执行”按钮后,以异步方式调用后台程序,等待结果返回,在这个等待过程中,用户页面并没有受到影响,ajax的方法本来就是多线程。
      

  5.   

    加上Nowait参数,可不可以解决问题呢?
      

  6.   

    pdvv说的对,这就是ajax的好处之一,如果不是很着急,建议学习一下。
    新开线程的话似乎也不能满足你的要求,因为你的页面总要等结果计算出来以后才能显示。
      

  7.   

    to 我爱花猫
    我可能没接触ajax
    但是实现基本和你说的一样!
    js较要执行的送到后台,由专门的java类实现,完了返回一个结果,这难道不是你说的ajax??
    请赐教!
      

  8.   

    加上Nowait参数,可不可以解决问题呢?????如何实现呢?!
      

  9.   


    to 我爱花猫
    我可能没接触ajax
    但是实现基本和你说的一样!
    js较要执行的送到后台,由专门的java类实现,完了返回一个结果,这难道不是你说的ajax??
    请赐教!
    -------------------------------
    差别很大,你这样叫做同步访问。而传说中的ajax是异步调用,好比领导命令你下午必须搞定这个问题,然后她就可以去上网聊天,而你要努力解决问题,完成后再通知她;如果用你现在的方式就是:领导坐在你旁边,一直等着你解决问题后才离开。好累,我闪了……