我有一个奇怪的问题。我有一个C#应用程序,它与SQL建立多个连接(总共7个)。一切都运行良好一段时间,然后突然间,SQL在最后一次连接上超时。这种联系非常简单
public static void APP()
{
using (SqlConnection conn7 = new SqlConnection(ConfigurationManager.ConnectionStrings["Connect"].ConnectionString))
{
conn7.Open();
SqlCommand cmd7 = new SqlCommand("sp_proc", conn7);
cmd7.CommandType = System.Data.CommandType.StoredProcedure;
cmd7.ExecuteNonQuery();
conn7.Close();
}
}
我的连接字符串看起来像这样。
add name="Connect" connectionString="Data Source=Server; Initial Catalog=DB; User ID=User; Password=password" providerName="System.Data.SqlClient"
我正在对每个人进行使用,我在每个课程结束时关闭每个连接。有没有人见过这样的事情?我有太多的联系吗?
我从Main开始按顺序运行每个班级。
答案 0 :(得分:3)
如果超时,有三种可能的情况:
sp_proc
只是花了太长时间才能跑;您需要解决代码问题答案 1 :(得分:1)
我建议添加
cmd7.CommandTimeout = 6000
以秒为单位测量超时,以便为应用程序的用户设置一个可接受的超时时间,
我建议您将所有SQL连接用作标准,这样您应始终有足够的时间来获取数据。
您可能想要做的一件事是在您运行的数据库上运行trace \ sql配置文件,并检查某种类型的锁定。
如果这是超时的话,我会认为有一个进程被暂停或某种锁某种