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

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

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

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

请问该怎么做?
用了个笨方法

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

将 循环Commit()

循环 Rollback()
展开
 我来答
就烦条0o
2018-08-04 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46487
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
数据库建同义词 ,可以不需要 跨数据库 这样插入的。
以下示例首次创建将在此后的示例中使用的同义词。

USE tempdb;
GO
CREATE SYNONYM MyAddressType
FOR AdventureWorks.Person.AddressType;
GO
以下示例将行插入到由 MyAddressType 同义词引用的基表。

USE tempdb;
GO
INSERT INTO MyAddressType (Name)
VALUES ('Test');
GO
onkubeer
2013-09-02 · 超过10用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:21.1万
展开全部
上网上查查数据库 XA的相关的相关资料(如百度知道的oracle xa),一般的商用数据库都支持,具体的一句、两句也说不清楚,自己看看吧

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

将 循环Commit()

循环 Rollback()
是不行的,两个数据库不能保证同时成功,失败,只能用xa方式,具体的真的你得自己搜索一下,网上有专门说这事的,挺多,也挺专业,我就不班门弄斧了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨润小青
2013-08-25
知道答主
回答量:11
采纳率:0%
帮助的人:6.2万
展开全部
你的数据持久层是否有用到框架?
追问
不懂持久层 = =
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
runjiu
2013-08-25 · TA获得超过328个赞
知道小有建树答主
回答量:715
采纳率:50%
帮助的人:237万
展开全部
做成一个事务就可以解决,即要做都做,要不做,都不做
更多追问追答
追问
同数据库事务操作我在网上找到了列子,两个库怎么做成一个事务?

链接字符串 可以同时链接两个库么?
追答
实在抱歉,两个数据库的我确实没做过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式