2012年12月5日 星期三

【ASP.NET 教學】(二)TransactionScope mdts 錯誤 PS.Web.Config 問題 (鬼打牆)


繼第一篇延續


後來追查到 web.config 設定

結果把A1ConnectionString 的connectionString 後半段內容複製
貼到 A2ConnectionString 的connectionString  後面

結果就能Run了

如果兩個connectionString  其中有一點點不一樣,就會又出現MDTS未啟用狀態 錯誤

=.=真的翻書也沒找到的解答

更新:add name="xxxConnectionString"



原:

改為:


說明:與add name="ConnString"  相同設定,避免TransactionScope 出現錯誤MDTS未啟用狀態


很神的是,我本機兩個混著用都沒問題=.=",上傳到server 就出現錯誤
【搞什麼東西】

【ASP.NET 教學】(一)TransactionScope mdts 錯誤 (鬼打牆)

今天花了一整個晚上搞個  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什麼丫」