今天花了一整個晚上搞個 TransactionScope
TransactionScope SqlConnection 只能相同 連結使用
之前程式高手在類別裡面有寫 回傳DATATABLE FUNCTION
但設定的 SqlConnection ConnectionStrings設定名稱: Conn1
然後我在我自己的程式裡寫了一個
TransactionScope
裡面
有個SqlDataSource 但設定的 SqlConnection ConnectionStrings 設定: Conn2
這兩個都是連同的DB
結果執行都還沒到Scope.Complete();
就出現錯誤
已停用分散式交易管理員(MSDTC)的網路存取。請使用元件服務系統管理工具啟用DTC,以使用MSDTC安全性設定中的網路存取
我還以為是我DDL 沒開啟,還是說防火牆被擋,
然後我都全部打開=.="
依然沒效(花了快8個小時測試)
結果我放棄用高手寫的(DATATABLE FUNCTION 回傳 ), 改用 SqlDataSource 控制項 設定連結也是用 Conn2
結果他就通了,就沒出現MSDTC 錯誤訊息
後來我改 回傳DATATABLE FUNCTION 裡面的 SqlConnection 也改成 Conn2
也也也也成功了
不知道是不是 TransactionScope 只能在同一條 SqlConnection ConnectionStrings 操作=.="
我發佈是到 WINDOWS 2008 R2 && SQL 2008 STANDER版
我在本機原本照舊的程式碼測試都沒問題,結果發佈到遠端就出現錯誤=.="
搞了我那麼久才找到解決方法
但我認為 TransactionScope 要用兩條不同的 SqlDataSource 應該是可以,但我就找不到解答
目前就這樣處理吧
最後一句「幹X什麼丫」