我有以下情况:
- 应用程序使用 2 个数据库
在某些时候,我需要使用事务范围:
插入记录表 A 数据库 X
插入记录表 C 数据库 Y
提交更改
插入记录表 B 数据库 X (B 的字段之一具有 A 的主键 id 的值,这就是我需要调用 submitchanges 的原因)
提交更改
A & B 必须同时成功,或一起失败。C没关系。在 C 上插入确实会触发错误 MSDTC is nog available。但我不希望 C 成为交易的一部分(无论出于何种原因)我知道通常当它们是 A 和 B 之间的关系时,值(FKid)会自动填充,但我不能使用 FK 关系在这种情况下。(我想如果不使用 FK 就无法将 a 的 id 放入 b 中?)
我试图仅在 Y 的连接字符串上指定 enlist=false ,甚至在 X 和 Y 上都指定,但我仍然得到错误。