先说下我的系统插入数据的方式:
开了多个线程同时插入数据,每个线程一次性插入61条数据(一条数据插入到主表,另外60条插入到从表),每60秒重复此操作。具体的插入代码我会建立一个OracleConnection连接,等61条数据插入完毕后再关闭它。但是,在50个线程下效果很不理想,会出现“超时时间已到,已超出连接池的连接数量 ”的错误。
//建立一个连接
OracleConnection connection = new OracleConnection(OracleHelper.ConnectionStringLocalTransaction); foreach (PressureInfo p in pressureInfoList)
{
//其他操作
OracleHelper.ExecuteNonQuery(connection, CommandType.Text, strSqlPressure.ToString(), parametersPressure);
}
connection.Close();正在检查什么地方出错了。请大家帮帮忙
开了多个线程同时插入数据,每个线程一次性插入61条数据(一条数据插入到主表,另外60条插入到从表),每60秒重复此操作。具体的插入代码我会建立一个OracleConnection连接,等61条数据插入完毕后再关闭它。但是,在50个线程下效果很不理想,会出现“超时时间已到,已超出连接池的连接数量 ”的错误。
//建立一个连接
OracleConnection connection = new OracleConnection(OracleHelper.ConnectionStringLocalTransaction); foreach (PressureInfo p in pressureInfoList)
{
//其他操作
OracleHelper.ExecuteNonQuery(connection, CommandType.Text, strSqlPressure.ToString(), parametersPressure);
}
connection.Close();正在检查什么地方出错了。请大家帮帮忙
解决方案 »
- 求大神指点!!
- 多文件上传winform程序 。咨询 。
- 关于C# 调用windows函数 wirteFile、可以写入数据,但readfile 无法读取数据
- 如何把汉字编码成为UTF-8和BigEndian,请贴出相关代码!!
- 大家好!
- 百分求教,我在.net下引用了一个原VB的DLL,运行时发生“服务器出现意外情况”的报错,请问是如何解决呢??
- 请问web服务器如何从另外一台机器下载文件?
- 一个C#程序员的必备条件
- 请教大虾:向SQL语句中传递参数的问题
- Microsoft Web Browser(COM组件)判断当前状态。即显示的希望的页面还是显示的默认的错误页面
- 如何让TreeView中的节点与ListView互操作?(资源管理器)
- 需要一种在.net平台下的RSA加解密办法,需要能与java,php互通
60条数据的插入,应该是0.01-2s的速度。
最好就是不用多线程单就你的问题来说
客户端 连接池是可以配置最大连接数量的 在web.config里面另外一个限制就在Oracle
Oracle 本身就存在一个Open_Cursor参数 默认300
你超过300个线程的话即使配置了客户端连接池数量 还是会报错
解决办法是增加该参数的值希望对扩充你的思路有所帮助