System.Data.SqlClient.SqlException: 超时时间已到---解决之道
前几天在给公司做一个统计日报页面,因为要查询的数据量非常巨大,改为存储过程来执行查询依然速度缓慢,更为郁闷的是当我测试此页面的时候,总是出错——System.Data.SqlClient.SqlException: 超时时间已到。
解决之道分为两步:
1.在web.config中的<system.web>标签中插入下面这句:
<httpRuntime maxRequestLength="2097151" executionTimeout="720000"/>
maxRequestLength的最大值好像就是2097151了,再大了会报错。executionTimeout的值完全是我乱写的,但至少还没报错。
2.在连接数据库的代码中加入如下一句:
string ConStr = "Data Source=……;Initial Catalog=……;Persist Security Info=True;User ID=……;Password=……";
SqlConnection conn = new SqlConnection(ConStr);
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = this.sql;
cmd.CommandTimeout = 10000; //要加这一句
conn.Open();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds);
conn.Close();
如果这样修改之后还有问题,那你真得考虑是不是要更换你的服务器了~……呵呵!
注:此文章属原创作品,转载请注明出处:http://www.cnblogs.com/luzx