我有一个执行大量数据处理的 Windows 服务。在某些时候,我的服务在关闭SQLConnection
. 当我评论关闭连接方法调用时,服务始终如一地工作而不会崩溃。
可能是什么问题呢 ?下面是一个代码片段
private void DeleteTempTable()
{
_logger.Info("DeleteTempTable");
try
{
foreach (KeyValuePair<string, string> item in _stables)
{
string dropSql = string.Empty;
dropSql = string.Format("DROP TABLE [{0}];", item.Value);
SqlConnection oConnDropTables = new SqlConnection(connectionString);
oConnDropTables.Open();
if (!string.IsNullOrEmpty(dropSql))
{
using (SqlCommand cmd = new SqlCommand(dropSql, oConnDropTables))
{
cmd.ExecuteNonQuery();
}
}
if (oConnDropTables != null && oConnDropTables.State == ConnectionState.Open)
oConnDropTables.Close();
oConnDropTables = null;
}
}
catch (Exception ex)
{
_logger.Error("Error " + ex.Message);
throw ex;
}
}
当我评论关闭连接时,服务正在运行而不会崩溃。它也没有被捕获块捕获。也没有Null
连接,连接状态仅打开..
我尝试过的:1) 将“使用”构造用于连接 - 没有帮助 2) 捕获 SQLException 以检查我是否得到任何东西 - 没有帮助