Browse by Tags

分散式交易問題排除經驗再一則與MSDTC快速ASPX測試法
以為自己MSDTC的處理經驗已 夠豐富 ,不料今天又有新的心得,筆記之。 某台新裝測試主機,多支涉及分散式交易程式冒出「The transaction manager has disabled its support for remote/network transactions.」錯誤,老問題一枚,推測是忘了 啟用Network DTC Access 。檢查果真漏了啟動選項,啟動後,其中一個ASP.NET網站的分散式交易就正常,但另一個ASP.NET網站下的ASP(對,是ASP不是ASPX,滄海桑田屹立十餘年的阿公級ASP...
Posted 15 August 2016 11:23 PMJeffrey | 3 comment(s) 5,372
Filed under: ,
SQL 2008 / Windows 2008 之 MSDTC 注意事項
過去累積不少MSDTC的 茶包處理經驗 ,也想出了 用Mini C# Lab測試MSDTC 的技巧。原本射MSDTC茶包還算得心應手,但最近又踢了鐵板,學到新的心得: SQL 2008啟動分散式交易的時機改變 依過去的 研究心得 ,只要不是用同一個SqlConnection物件執行查詢,即便連線字串完全相同,SQL 2005也會啟用分散式交易,所以在 Mini C# Lab MSDTC測試 中,就用了這點特性故意引發分散式交易進行測試。但今天被騙很慘,使用Mini C#測試看來MSDTC正常,但Web程式卻一直傳回分散式交易失敗...
【茶包射手日記】MSDTC茶包經驗再添一筆
很多人都知道,我常 忝不知恥 大言不慚自詡" 台灣MSDTC茶包權威 ",甚至前幾天,為了同事在我的管區隱匿個人主機與跨網域SQL分散式交易問題超過一個月而大發雷霆!(謎之聲: 茶包大人好大的官威呀~~~) 所幸該茶包行蹤敗露後,經我設定lmhosts後十秒就被送上西天,這更讓我志得意滿好不驕傲。心想,這世上應該沒有任何MSDTC茶包可以難得倒我了,哇哈哈哈! (謎之聲: 瞧這小人得志嘴臉,不可取!) 果不其然,自大是要遭天譴的! 今天受命處理一台同樣疑似跨網域MSDTC問題的測試機...
Oracle Distributed Transaction Error
寫了以下的程式做SQL與Oracle的分散式交易: using (System.Transactions.TransactionScope tx = new System.Transactions.TransactionScope()) { //... Update data on SQL Server ... using (OracleConnection cn = new OracleConnection(cnStr)) { cn.Open(); OracleCommand cmdOra =...
Posted 17 October 2009 04:36 AMJeffrey | with no comments 12,580
Filed under: , , ,
TIPS-在Vista上開啟DTC
跑程式時出現以下錯誤: MSDTC on server 'JEFFREYVISTA\SQLEXPRESS' is unavailable. 很明顯地是MSDTC未開放網路存取所致,對號稱"資深分易式交散茶包射手"的我來說,這問題連茶葉梗都算不上,正想 依循古法 排除問題,才發現糗大了。 我先從控制台Programs and Features的Turn Windows features on or off想找到熟悉的Enable network DTC access...
Posted 24 April 2009 09:23 AMJeffrey | with no comments 8,747
Filed under: , ,
.NET分散式交易程式開發FAQ
當系統存取的資料庫伺服器超過一台,或涉及異種資料庫平台間的資料整合,常常就會伴隨分散式交易(Distributed Transaction)的需求。這門進階的學問,在運用的實務上,瑣碎曲折的小細節還挺多的。 以下是我在RUN!PC發表過的文章,整理了使用.NET程式整合MSDTC做分散式交易的一些經驗分享,內容包含了: 常見的疑難雜症及排除方法、分散式交易狀況的偵測、SQL 2005的LTM與OleTx模式、不同做法的效能比較... 等等,在此提供大家參考。 文章下載 【其他相關文章】 KB-.NET...
【茶包射手專欄】奧妙的MSDTC咒語
之前運作一段時間的電子表單系統,最近又擴充了三台新主機。奇怪的是,在三台新主機上,有個撤銷表單的網頁功能一直出問題,會傳回 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) 錯誤。 通常,存取權限錯誤可以用抓鬼一哥 Process Monitor 輕易抓出來,但這次卻不然。ProcMon裡看不到可疑的Registry或File Access Denied訊息。Trace Code發現這段程式啟動了 TransactionScope...
ORACLE Transaction大車拼!
為了測試使用System.Data.OracleClient、ODP.NET(Oracle.DataAccess.Client)與 TransactionScope 三者的效能差距,我設計了以下的實驗,分別用三種方式(因ODP.NET 9207還不支援TransactionScope,所以TransactionScope搭配System.Data.OracleClient使用)將三個Insert動作包成Transaction,並各測十次。 static object obj = new object...
Posted 28 December 2007 08:04 PMJeffrey | 1 comment(s) 18,090
Filed under: , , ,
Distributed Transaction With MS OLEDB Provider For Oracle
在SQL Server上設了Linked Server連到Oracle,卻發現T-SQL加上BEGIN TRAN後會傳回以下錯誤: The operation could not be performed because OLE DB provider "MSDAORA" for linked server "MyOra" was unable to begin a distributed transaction. 做了許多嘗試,得到以下結論: Linked...
Posted 07 November 2007 11:23 PMJeffrey | with no comments 10,148
【茶包射手專欄】錯怪Oracle~~
本來以為自己堪稱台灣地區Trouble-Shoot MSDTC問題的權威,沒想到這幾天陰溝裡翻船,為了解決一台新灌XP SP2無法啟用分散式交易的問題,耗掉近一個人天... 同事回報,照著我先前的KB設定了分散式交易,但是執行以下的Code,程式卻會卡在第11開啟Oracle Connection上,卡住約三分鐘,然後丟出Communication with the underlying transaction manager has failed.之類的Error。 1: private static...
KB-ADO.NET 2.0+SQL 2005分散式交易錯誤
今天發現正式主機上的ASP.NET 2.0程式傳回以下錯誤: Stack Trace: [SqlException (0x80131904): New request is not allowed to start because it should come with valid transaction descriptor.] System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection...
Posted 17 April 2007 11:46 PMJeffrey | with no comments 7,638
Filed under: , , ,
TIPS-TransactionScope過三關
.NET 新推出的TransactionScope 提供了更簡便封裝Transaction的寫法。今天試著從我的Windows 2003 用TransactionScope包裝一段對SQL 2005 @ Windows 2000的程式碼時,卻連闖三關才達陣! 首先,我收到這個錯誤: System.Runtime.InteropServices.COMException (0x8004D024): The transaction manager has disabled its support for...
Posted 15 March 2007 03:00 PMJeffrey | with no comments 18,732
Filed under: , ,
KB-MSDTC cross different domains
之前提過在Windows 2003上設定MSDTC時需要 注意的事項 ,今天又有新的發現。 依測試結果,當Client與SQL Server分處於不同AD Domain時,可能導致分散式交易失敗。現象是Connection.Open()傳回錯誤訊息: New transaction cannot enlist in the specified transaction coordinator. 問題肇因於MSDTC靠雙向的RPC管道溝通,因此SQL Server所在的主機也要有能力連回Client端...
Posted 13 February 2007 11:47 AMJeffrey | with no comments 20,822
Filed under: , ,
KB-.NET 2.0 分散式交易新利器---TransactionScope
古老的ASP時代,要做Distributed Transaction( 分散式交易 ,指跨越異質資料庫的交易,例如: 將SQL Server跟Oracle的更新動作包成一個Transaction),有個偷懶的方法。在ASP最前端宣告一下 <%@ Transaction=Required%> ,則整個ASP中的所有資料庫操作,不管Oracle、SQL、Sybase,通通會自動包成Transaction,不用多寫半行Code。 不過,這種寧可錯殺一百,不可錯放一個的做法效能有點鳥(連沒必要的SELECT動作也被包入Transaction...
Posted 23 November 2006 01:50 PMJeffrey | 7 comment(s) 35,230
Filed under: ,
MSDTC on Windows 2003 SP1的注意事項
而Windows 2003 SP1就更機車了,在MSDTC上會多了幾個選項,當然預設又是最嚴的選項—Mutual Authentication Required,它是個未來才會生效的選項,現在的效果等同於Incoming Caller Authentication Required,而且只有在兩台DTC都是Windows XP SP2或Windows 2003才適用。如果Web或SQL其中一台的OS是Windows 2000時,No Authentication Required是唯一的選擇。 最後...

搜尋

Go

<March 2023>
SunMonTueWedThuFriSat
2627281234
567891011
12131415161718
19202122232425
2627282930311
2345678
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication