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) 则不会出现此问题。
TransactionScrope 2的更多相关文章
- TransactionScrope
测这个东西其实是由生产环境数据库报错,ORA-14450错误. 测试结果是: 1)使用transactionscrope时,数据库连接打开需在scrope内打开: 2)TransactionScope ...
随机推荐
- 利用“参数赋值”防范SQL注入漏洞攻击
<<年轻,无权享受>————送给每一个看到此文的同僚们 在这无精打采的炎夏 我躺在阳台上房东的旧沙发 回想几个月来遇到的问题 我不禁内心开始慌张喘着粗气 还有大把时间去打拼 没有到只 ...
- 对面向对象程序设计(OOP)的认识
前言 本文主要介绍面向对象(OO)程序设计,以维基百科的解释: 面向对象程序设计(英语:Object-oriented programming,缩写:OOP),指一种程序设计范型,同时也是一种程序开发 ...
- 把int类型值转换成int数组(不通过string类型转换)
只适合初学者 今天同事问了我不通过string类型把int类型值123589转换成int[]数组.我想了想于是写了出来,其实不难.看你小学数学学得好不好.言归正传. 先不说代码,举个列子就知道怎么玩了 ...
- Song of Pi
def main(): pi = ' # 预先给出需要比较的值 t = int(raw_input()) for _ in xrange(t): song = raw_input().strip(). ...
- css 三角实例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- block(四)揭开神秘面纱(下)
看此篇时,请大家同时打开两个网址(或者下载它们到本地然后打开): http://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/BlocksRuntim ...
- MyEclipse8.5自动生成注册码
package com; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRe ...
- bzoj2741(分块+可持久化Trie)
题意中文我就不说了 解析: 分块+可持久化Trie,先得到前缀异或值,插入到Trie中,然后分块,对每一块,处理出dp[i][j](i代表第几块,j代表第几个位置),dp[i][j]代表以第i块开始的 ...
- 【HDU1231】How Many Tables(并查集基础题)
什么也不用说,并查集裸题,直接盲敲即可. #include <iostream> #include <cstring> #include <cstdlib> #in ...
- nodejs学习笔记之包、模块实现
简单了解了node的安装和一些基本的常识之后,今天学习了node中很重要的包和模块的一些知识点. 首先学习一下包的规范,它由包结构和包描述两部分组成.包结构用于组织包的各种文件,包 ...