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 2

当前未解决使用TransactionScrope 并发时 导致ORA-14450错误,仅采用DBTransaction 跳过此问题,以期后续能解决此问题。

也请各位能给个好点的建议^.^

 

经测试发现使用的是已过时的类库构造的oraclecommand  (System.Data.OracleClient) 如果使用(Oracle.DataAccess) 则不会出现此问题。

你可能感兴趣的:(transaction)