0
我有一个ASP.NET网页。它使用4 BackgroundWorkers
。每个bw从数据库中检索一些数据。ExecuteReader需要一个开放且可用的Connection。连接的当前状态正在连接
用于连接到数据库中的代码是:
if (dbConnection.State == ConnectionState.Closed)
{
dbConnection.Open();
}
DataTable dt = new DataTable();
OdbcCommand cmd = new OdbcCommand(sqlQuery, dbConnection);
cmd.CommandTimeout = 0;
IDataReader dataReader = cmd.ExecuteReader();
dt.Load(dataReader);
dataReader.Close();
dataReader.Dispose();
在构造,this.dbConnection = new OdbcConnection(networkdetails);
每个BW利用上面的代码片段的查询数据库和检索的值。代码有时候工作得很好。其他时候它抛出上面给出的例外。
对我可能做错什么有帮助?
为什么在一个页面上需要4个后台工作者?在asp.net中这不是一种常见的做法,可能会导致很多问题。 – nunespascal 2013-04-23 06:19:59
你可以使用if(Connection.State!= ConnectionState.Open) Connection.Open();有时连接状态可能会导致问题。尝试这样。 – MahaSwetha 2013-04-23 06:32:24
什么是例外,你得到它? – MahaSwetha 2013-04-23 06:33:00