最近的项目这个问题让我头疼了很久,人少的时候连接很正常,但当人多的时候连接数据库就会出现这个问题,找了许多资料,甚至有些资料说是微软的bug,我的代码如下(省略了一些):
public class TstockAccountDao
{
oracleHelper是仿SQLHelper写的。ConnectionManager是数据库连接类。
不知道大家有没有看出问题,如果大家都看出了问题,我真是惭愧,后来我把代码改成如下,终于正常了,不知道大家有没有更好的方法。
ublic class TstockAccountDao
{
晕倒!
public class TstockAccountDao
{
private OracleConnection oracleConn = ConnectionManager.GetCon();;
public ArrayList InsertTstockAccount()
{
try
{
//这里是处理代码
list = OracleHelper.ExecuteOutputValues(oracleConn, CommandType.StoredProcedure, cmdText, param);
}
catch
{
throw;
}
return list;}
public ArrayList InsertDataLackTstockAccount()}
{
ArrayList list = new ArrayList();}
string cmdText = "TaiZhang.insertDateLackTaiZhang2";
try
{
//这里是处理代码
list = OracleHelper.ExecuteOutputValues(oracleConn, CommandType.StoredProcedure, cmdText, param);}
catch
{
throw;}
return list;
oracleHelper是仿SQLHelper写的。ConnectionManager是数据库连接类。
不知道大家有没有看出问题,如果大家都看出了问题,我真是惭愧,后来我把代码改成如下,终于正常了,不知道大家有没有更好的方法。
ublic class TstockAccountDao
{
private OracleConnection oracleConn = null;
public ArrayList InsertTstockAccount()
{
try
{
//这里是主要改变代码
oracleConn = ConnectionManager.getConn();
list = OracleHelper.ExecuteOutputValues(oracleConn, CommandType.StoredProcedure, cmdText, param);
}
catch
{
throw;
}
return list;}
public ArrayList InsertDataLackTstockAccount()}
{
ArrayList list = new ArrayList();}
string cmdText = "TaiZhang.insertDateLackTaiZhang2";
try
{
//这里是主要改变代码
oracleConn = ConnectionManager.getConn();
list = OracleHelper.ExecuteOutputValues(oracleConn, CommandType.StoredProcedure, cmdText, param);}
catch
{
throw;}
return list;
晕倒!