實在看不懂,還在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();
}
沒有留言:
張貼留言