最近的項目這個問題讓我頭疼了很久,人少的時候串連很正常,但當人多的時候串連資料庫就會出現這個問題,找了許多資料,甚至有些資料說是微軟的bug,My Code如下(省略了一些):
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;
}
}
暈倒!