bdsc() ,你可能没明白我的意思,现在的需求是这样,如果操作错了的话, 就恢复到原先的状态(数据库里的数据恢复到原来的数据),而不是修改数据,并且要求速度快。谢谢你

解决方案 »

  1.   

    //始终用一个连接
    Connection conn = getFromWhatever();//set autocommit to false,
    conn.setAutocommit(false);...... //n个操作conn.commit();没有想像中复杂, 复杂的是通用的能处理java对象状态的东西(如有错误按java api执行)
      

  2.   

    始终别commit,最后在关闭的时候,进行commit
      

  3.   


    网址:http://www.qq222.com/?r=gerard2008
      

  4.   

    请教一个棘手的问题,撤消回滚功能怎么来实现?我先是做了一个操作,同时修改插入了N个表,并且提交了,现在我发现我操作错误了  
    ~~~~~~~~~~搂住的题目里如果有了这么一个操作的话...汗哦慢慢的一个一个改吧,如果灭有提交还可以用Connection的rollback()来回滚操作
    前提:在操作数据库之前已经用了Connection的setAutoCommit(false);这个方法,且未调用过
    Connection的commit()方法,且刚才的表操作都是在同一个Connection中完成的,即他们使用一个连接完成。
      

  5.   

    jinsfree(三天就结贴),你说的对,他已经做完了操作了,都COMMIT了,用COMMIT处理不了的,我还是到数据库板块去问问吧
      

  6.   

    ORACLE的什么版本?数据库在归档模式下吗?有备份考虑使用备份恢复,没有备份的话可以试试LOGMNR.
      

  7.   

    9i版本的,用LOG吗?怎么来做备份恢复?是不是要太长时间,太长时间了是不允许的。要求速度要快。
      

  8.   

    没有备份的话试试LOGMNR了,你现在的数据库应该停用了吧?不然用户访问到错误的数据怎么办?LOGMNR的用法在GOOGLE里面搜索一下有很多教材。
      

  9.   

    aweihz(我怎么还没有星??!) ,数据库是没停用的,一直在用的!
      

  10.   

    只要你提交了。commit还怎么回滚啊。
    如果有两个服务器可以找回来以前的数据。
      

  11.   

    lu8088(努力吧) 我这里说的回滚是不是数据库里的回滚rollback操作,而是用户取消上一次操作的功能。目的是想获得操作前的数据。
      

  12.   

    aweihz(我怎么还没有星??!) 
    我查过了,可是用LOGMNR的话可能会太多步骤吧,而且这些步骤客户肯定不知道怎么做的.
      

  13.   

    只要你commit,就不能回滚,想要回到原来的只有通过备份恢复