今天答辩,导师问到一个这样的问题~

JGambler 2006-12-29 07:39:14
她问当我的系统在做一项数据库操作时
如果突然遇到停电等突发事故,再次打开系统时,应该会有什么提示
我回答说应该要有一个上次操作是否成功的确认信息,然后应该要用到数据库事务什么的(如回滚),我不知道怎么回答,因为我们的系统没有提供这个功能
我想问下大家,我应该怎么来完善系统的这个功能?怎么让系统更健壮,处理一系列突发事件?谢谢大家~
...全文
638 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
YCFTC 2007-01-03
  • 打赏
  • 举报
回复
用到显示事务,当确定操作完成后再调用事务的commit()方法,当出现异外时数据就不会写到数据库中,也可以由我们程序员主动回滚事务.
rlqiang 2007-01-03
  • 打赏
  • 举报
回复
需要数据库的支持,比如mssql,如果用mssql的事务那么遇到这种情况,在下次开机时会有提示:是否回滚。(听同事说的,没有用过)
JGambler 2007-01-02
  • 打赏
  • 举报
回复
大家说的都有道理
可是现实情况是:我们的系统管理员(操作员)和数据库管理员不是同一个人啊,在现实中,为了某些数据的安全保密,管理员是没有权限去直接打开DBMS察看一些东西的,所以这个系统的管理员在停电后再开机时,他就不知道上次对数据库的操作是否已经成功完成(因为停电了,没有得到一个提示确认,而且他不能去直接操作DBMS),当然如果系统管理员去问数据库管理员当然能知道了,问题是这样做是太麻烦了,太不方便了,而且要管理员负好大责,所以旧需要我们的系统有足够的容错和异常处理能力。就象我们编程使用的一些工具软件一样,有时电脑死机了,而工程还没有保存,这样就不得不重启,再次打开软件时,它会有个小提示如:上次有个工程没有保存,是否恢复到那个工程等。
benma0520 2006-12-30
  • 打赏
  • 举报
回复
你可以在你的系统里修改数据库的代码里加上如:
conn = ConnectionManager.getConnection();----1
conn.setAutoCommit(false);-----2
pstmt = conn.prepareStatement(sql);-----3
conn.commit();-----4
如果操作在第3步断电,程序因为没有执行第4步,所以数据库里将会没有你刚添加的数据。
应该就是这样。我在对修改数据库的操作中都加这commit命令。


--------------------------------------------------------------------------------
技术的提升在于不断的探讨和交流,欢迎大家加入《『Ben』J2EE交流群》QQ群:24711176

beconcon 2006-12-30
  • 打赏
  • 举报
回复
可是当时已经停电了啊,怎么继续处理呢,学习

--------------------------
这是一个很严重的问题,当然这是相对于各种数据库的,像ORACLE在这方面能处理的很好,当一项操作未完成而发生意外,那么就把这项操作取消,把数据库恢复到这项操作之前的状态,并在日志中有记录,不过如果是像ACCESS这种小的不很再小的就更严重了,可以严重到数据库损坏,再也打不开的情况,数据库越大这方面的功能也就能强大
qianlei0007 2006-12-30
  • 打赏
  • 举报
回复
事务撒。。。。。
数据库回滚问题。
phoenixYiYou 2006-12-29
  • 打赏
  • 举报
回复
顶一下楼上两位的答案!!!
liaohaiying 2006-12-29
  • 打赏
  • 举报
回复
这是一个很严重的问题,当然这是相对于各种数据库的,像ORACLE在这方面能处理的很好,当一项操作未完成而发生意外,那么就把这项操作取消,把数据库恢复到这项操作之前的状态,并在日志中有记录,不过如果是像ACCESS这种小的不很再小的就更严重了,可以严重到数据库损坏,再也打不开的情况,数据库越大这方面的功能也就能强大
swingaway 2006-12-29
  • 打赏
  • 举报
回复
应该没有提示,但看数据库日志应该有上次操作失败的记录,你自己在电脑上试一下不就行了,用循环插入100条数据,操作中人为断电不就行了
syhan 2006-12-29
  • 打赏
  • 举报
回复
嗯,估计就是事务处理吧
JGambler 2006-12-29
  • 打赏
  • 举报
回复
顶起来
大家帮忙
jk88811 2006-12-29
  • 打赏
  • 举报
回复
就是事务吧

其实我也没做过这个,应届的,没工作经验, 请高手指教!

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧