最近在作一個項目的時候使用了.NET
中的System.Transactions
(分佈式事務),當項目開發完成之後,調用的時候遇到了MSDTC
的問題,在查閱了相關資料後將這個問題解決了,大體的問題主要是使用了分佈式事務,而沒法訪問到數據庫的問題,網上不少解決方法,都是啓動一下服務,而後再修改服務組件的選項,可是當Web服務器與數據庫不在同一臺機器上的時候,仍是會報錯。
錯誤以下:
數據庫
MSDTC
(分佈式交易協調器),協調跨多個數據庫、消息隊列、文件系統等資源管理器的事務。
該服務的進程名爲Msdtc.exe
,該進程調用系統Microsoft Personal Web Server
和Microsoft SQL Server
。
該服務用於管理多個服務器。服務器
在服務中啓動Distributed Transaction Coordinator
服務
網絡
修改組件服務裏的選項
點擊打開開始
—>管理工具
—>組件服務
依次展開組件服務
—>計算機
—>個人電腦
—>Distributed Transaction Coordinator
,右擊本地DTC
,選擇屬性
,按下圖進行設置,設置完成後點擊肯定。分佈式
這個時候本地已經能夠正常使用了,可是Web服務器與數據庫服務器不在同一臺機器上的時候,仍是會報錯,這個時候須要在數據庫服務器上打開一個端口和一個應用程序。工具
135
C:\Windows\System32\msdtc.exe
net start msdtc
net stop msdtc
msdtc -uninstall
mstdc -install