TransactionScrope 2
继上一篇文章TransactionScrope 在做相应的变动时,发现可以重现ORA-14450错误,如:
List<Thread> ls = new List<Thread>(); for (int i = 0; i < 100; i++) { ls.Add(new Thread(new ParameterizedThreadStart(new Class1().Func1))); } ///inner for (int i = 0; i < ls.Count; i++) { ls[i].Start(i); } while (ls.Exists(o => o.ThreadState == ThreadState.Running)) { Thread.Sleep(100); } Console.WriteLine("All Over..."); Console.ReadKey();
注:class1 为上篇文章的类,Func1 为上篇文章的方法名;
在执行过程中报错:
当前未解决使用TransactionScrope 并发时 导致ORA-14450错误,仅采用DBTransaction 跳过此问题,以期后续能解决此问题。
也请各位能给个好点的建议^.^
经测试发现使用的是已过时的类库构造的oraclecommand (System.Data.OracleClient) 如果使用(Oracle.DataAccess) 则不会出现此问题。