1. 程式人生 > >解決分散式事務問題

解決分散式事務問題

利用.Net 2.0中提供的事務新特性大大方便了分散式事務的開發,但是卻需要系統MSDTC的支援。由於系統的設定問題等各種原因,總是會使事情變得不太順利。下面說明一下我解決這個問題的步驟,希望對大家有所幫助:

第一步:
--------------------
win2003預設禁用遠端/網路事務,啟用的步驟如下:
啟用網路 DTC 訪問的步驟
1. 單擊“開始”,指向“控制面板”,然後單擊“新增/刪除程式”。
2. 單擊“新增/刪除 Windows 元件”。
3. 選擇“應用程式伺服器”,然後單擊“詳細資訊”。
4. 選擇“啟用網路 DTC 訪問”,然後單擊“確定”。
5. 單擊“下一步”。
6. 單擊“完成”。
7. 停止分散式事務協調器服務,然後重新予以啟動。
8. 停止參與分散式事務的任何資源管理器服務(如 Microsoft SQL Server 或 Microsoft Message Queue Server),然後重新予以啟動。
--------------------------------
第二步:
--------------------------------
設定MSDTC:控制面板->管理工具->元件服務->我的電腦->右鍵->屬性->MSDTC->安全配置(Security Configuration)->開啟Network DTC Access 同時打上
Allow Inbound ,Allow Outbound ,No Authentication Required,Enable Transaction Internet Protocol[TIP] Transaction
---------------------------------
第三步:將MSDTC程式新增入Windows防火牆

除了要將msdtc.exe新增到防火牆外,還要增加135埠,以及開啟【檔案與印表機共享】埠。

注意:兩臺參與分佈事務的機器都需按如上操作設定。如果還有問題,則重啟機器。

當然大家還可以利用Dtcping這個小工具來測試兩臺機器間的分散式事務是否正常。