- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为“db”的通用类,它直接与数据库对话。并有一个名为“ExecuteDataReader”的方法,如下所示:
public SqlDataReader ExecuteDataReader(SqlCommand cmd)
{
try
{
OpenConnection();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return dr;
}
catch (Exception ex)
{
Utils.Debug(string.Format("Err in {0}.{1} : {2}\nSQL : {3}", this.GetType(), "ExecuteDataReader", ex.Message, cmd.CommandText));
return null;
}
}
然后,我执行资源密集型查询,循环遍历 10000 条父记录和 20000 条子记录以在数据库中更新。然后我收到以下错误:
Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
为了解决这些问题,我必须在执行后显式调用 dr.Close()。
static void ProcessAssessmentCriteria(string UnitReference)
{
SqlCommand cmd = new SqlCommand("TRACKING.DBTool_GetUniqueAssessmentCriteriaByUnitReference");
cmd.Parameters.Add("@UnitReference", SqlDbType.VarChar, 20).Value = UnitReference;
SqlDataReader dr = db.ExecuteDataReader(cmd);
if (dr.HasRows)
{
while (dr.Read())
{
ProcessDetailAssessmentCriteria(UnitReference, dr["AssessmentRefNumber"].ToString());
Console.WriteLine("---------------");
}
}
dr.Close();
}
据我所知,CommandBehaviour.CloseConnection() 会自动关闭连接。不过现在好像没有关闭。你能赐教吗?谢谢。
最佳答案
CommandBehavior.CloseConnection 来自 MSDN
When the command is executed, the associated Connection object is closed when the associated DataReader object is closed.
因此只有当您关闭 DataReader 时,连接才会关闭。
关于c# - SQLDataReader 和 CommandBehaviour.CloseConnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7023823/
我有一个名为“db”的通用类,它直接与数据库对话。并有一个名为“ExecuteDataReader”的方法,如下所示: public SqlDataReader ExecuteDataReader(S
这样写这个辅助方法安全吗?它会一直关闭连接吗?我知道如果一切顺利,它会,但 ExecuteReader 会关闭连接,即使它抛出吗? public static IEnumerable Exec
本文整理了Java中org.xbill.DNS.ZoneTransferIn.closeConnection()方法的一些代码示例,展示了ZoneTransferIn.closeConnection(
谁能告诉我什么是 CommandBehavior.CloseConnection 以及在 com.ExecuteReader(CommandBehavior.CloseConnection) 中将其作
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我正在使用 Oracle ojdbc 12 和 Java 8 处理 Oracle UCP 管理器的问题。当 UCP 池启动失败时,我希望关闭它创建的连接。 当池初始化期间遇到 ORA-02391:超过
环境:Android Studio 3.1.1代码: import com.firebase.ui.auth.AuthUI; ... private void startSignIn()
我是一名优秀的程序员,十分优秀!