2012年1月2日 星期一

[茶包] TransactionScope 的問題

當資料庫不在同一台機器的時後記得要設定 MSDTC 的權限, web server + sql server 都要設!!
1. 選擇 元件服務
image
2. 打開元件服務,找到 本機 DTC 按右鍵選內容
win 7:
  image
XP 的話是在 我的電腦上面按右鍵

3. 選擇 安全性 設定網路 dtc 存取,並將 網路 dtc 存取、允許遠端用戶端、選擇不需要驗證
image

[Update 2012/01/20]
其實還會有另外的因素會照成 msdtc 不通
1. Firewall 不通
2. Host Name ping 不到

當 firewall 不通時在 Command Line 直接開放 msdtc 的存取,記得兩台電腦都必需要開通
netsh firewall set allowedprogram %windir%\system32\msdtc.exe MSDTC enable

接下來再在兩台電腦 ping 對方的 HostName
如果有任何一方不通,請在 host 裡加入 hostname 與 ip 的對應

這樣子應該就可以使用了

[reference]http://darkthread.blogspot.com/2006/03/msdtc-on-windows-2003-sp1.html

沒有留言: