继上一篇文章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) 则不会出现此问题。