永发信息网

c# SQL跨数据库事务问题。

答案:3  悬赏:30  手机版
解决时间 2021-01-03 08:32
  • 提问者网友:嘚啵嘚啵
  • 2021-01-03 00:34
A表所在数据库 db1

B表与C表所在数据库 db2
C# WinForm 中的一个按钮事件下需要执行以下操作
1、A表新增一条数据
2、B表修改多条数据
3、C表新增一条数据

现在我需要的是,任何一项操作失败,都还原被操作了的表。

请问该怎么做?

用了个笨方法

利用循环 根据 数据库数量 分别 链接

将 循环Commit()

循环 Rollback()
最佳答案
  • 五星知识达人网友:你哪知我潦倒为你
  • 2021-01-03 01:24
上网上查查数据库 XA的相关的相关资料(如百度知道的oracle xa),一般的商用数据库都支持,具体的一句、两句也说不清楚,自己看看吧

你那么做:
利用循环 根据 数据库数量 分别 链接

将 循环Commit()

循环 Rollback()
是不行的,两个数据库不能保证同时成功,失败,只能用xa方式,具体的真的你得自己搜索一下,网上有专门说这事的,挺多,也挺专业,我就不班门弄斧了。
全部回答
  • 1楼网友:蕴藏春秋
  • 2021-01-03 02:07
你的数据持久层是否有用到框架?
  • 2楼网友:封刀令
  • 2021-01-03 02:00
做成一个事务就可以解决,即要做都做,要不做,都不做
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯