问题:更新两个不同厂商的数据库(如informix和oracle),必须同时更新成功,或者其中一个失败时都要回滚。
怎么解决?
事务中处理回滚
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- iteye_17163 2008-06-19 10:43关注
最傻的办法就是这样了...
[code="java"]
......
try{
//改变自动提交方式.
connOracle.setAutoCommit(false);
connInformix.setAutoCommit(false);stmt = connOracle.createStatement(); stmt = connInformix.createStatement(); stmt.executeUpdate("UPDATE ... SET ..."); stmt.executeUpdate("UPDATE ... SET ..."); connOracle.commit(); connInformix.commit(); connOracle.close(); connInformix.close();
}catch(Exceptin ex){
//出错则一起回滚
connOracle.rollback();
connInfomix.rollback();
connOracle.close();
connInformix.close();
ex.printStackTrace();
}
[/code]还有个办法就是使用JTA事务..不过在下不才...目前还不会.楼主可以多参考些这方面的资料..
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 一直显示正在等待HID—ISP
- ¥15 Python turtle 画图
- ¥15 关于大棚监测的pcb板设计
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入