我需要實現從一個數據庫讀取數據並在兩個其他數據庫(Db2和Db3)中插入/更新數據。所有數據庫都是SQL Server。ADO.NET和使用不同的數據庫
現在我使用的下一個情景:
打開連接,併爲我的源數據庫開始交易。
1.1打開連接,併爲DB2
1.2插入/更新記錄開始交易。
1.3提交/回滾事務
2.1打開連接和DB3
2.2插入/更新記錄開始交易。
2.3提交/回滾事務
標記記錄在源數據庫導出。
提交事務。
一切工作正常。但是如果我在1.2或2.2步中出現異常,則當前事務將被回滾,但其他步驟中的事務將保持承諾。
如何在步驟(1.2或2.2)有異常時執行方案,步驟1.3和2.3的 也會回滾?
我不能用一個交易,DB2和DB3,因爲我有例外
交易或者未與當前連接 相關的或已經完成。
任何想法?
感謝,
更新: 我解決我的問題: 現在我使用的下一個情景:
打開連接,併爲我的源數據庫開始交易。
1.1打開連接和用於DB1
啓動事務1.2打開連接並用於DB2
啓動事務在DB1 1.3插入/更新
1.4插入在DB2 /更新
1.5提交/回滾事務Db1
1。6 Db2提交/回滾事務
將源記錄中的記錄標記爲導出。
提交事務。
你如何處理時DB1交易成功和DB2交易失敗? – Eranga