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) 则不会出现此问题。

posted @ 2015-03-03 14:00  HansonYao  阅读(190)  评论(0编辑  收藏  举报