我在SQL程序的超时方面遇到了麻烦,我把它缩小到这个函数,我可以传递参数和它的单词,但在这个例子中我发送了一些数据。当它运行时,我得到一个超时,大约6个左右进入数据库,然后超过2分钟发生超时。在本地运行时,一切正常,操作在几秒钟内完成。!!有任何想法吗? 。
我知道它获取所需的信息并进入列表,它可以连接并向SQL发送数据。我读过可能会创建太多的连接等,但似乎没有什么可以修复它。你遇到的任何想法或简单的问题?还尝试按照
禁用调试器等public void ConnectToSQl(String word, int count, String HashTag = " ")
{
checkExcludeList();
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source = dev\\SQLEXPRESS ;" +
"Initial Catalog=sml;" +
"User id=**** ;" +
"Password =******;" +
"Trusted_Connection=No";
try {
conn.Open();
SqlCommand Command = new SqlCommand("INSERT INTO word_list (word , count)" +
"VALUES (@word , @count)", conn);
//add parameters for insert
Command.Parameters.AddWithValue("@word", word);
Command.Parameters.AddWithValue("@count", count);
Command.ExecuteNonQuery();
} catch (Exception e) {
Box.Text = "SQL error" + e;
} finally {
conn.Close();
}
}
答案 0 :(得分:1)
尝试传递您的开放连接。打开sql连接非常昂贵。
public void ConnectToSQl(SqlConnection conn, String word, int count, String HashTag = " ")
{
if (conn.State != ConnectionState.Open)
throw new SqlExecutionException("Sqlconnection is not open");
checkExcludeList();
SqlCommand Command = new SqlCommand(
"INSERT INTO word_list (word , count)" +
"VALUES (@word , @count)", conn);
//add parameters for insert
Command.Parameters.AddWithValue("@word", word);
Command.Parameters.AddWithValue("@count", count);
Command.ExecuteNonQuery();
}