實在看不懂,還在MSDTC更改設定。設定老半天,完全不對。
後來,發現只要在scope 中讀取sql2005 的 database 之 table schema,就會發生上述的錯誤。 原來,讀取table schema 是無法交易的。因此,必須將讀取table schema放在TransactionScopeOption.Suppress 中。
程式大意如下:
using (TrsnsactionScope s1 = new TrsnsactionScope()) { UpdateDBOperation1(); Using (TrsnsactionScope s1 = new TrsnsactionScope(TransactionScopeOption.Suppress)) { ReadTableScheam(); //不要加入交易 } UpdateDBOperation2(); }
沒有留言:
張貼留言