首页 > 代码库 > sql连接超时

sql连接超时

超时时间已到。在操作完成之前超时时间已过或服务器未响应”
初步分析原因为对MSSQL操作时连接超时,知道这事,以前没留意,大概是在配置文件中设置连接时限,在网上找了下解决方法,大多说在数据库连接字符串里解决

SqlConnection con = new SqlConnection("server=.;database=myDB;uid=sa;pwd=password;")

改为:

SqlConnection con = new SqlConnection("server=.;database=myDB;uid=sa;pwd=password;Connect Timeout=500")

似乎没效果。依然运行30秒即报超时!
突然感觉似乎应该可以在连接数据库代码中指明,式了下con的属性,有个ConnectionTimeout, 

SqlConnection con = new SqlConnection("server=.;database=myDB;uid=sa;pwd=;");
con.ConnectionTimeout = 180;//报错,属性ConnectionTimeout 为只读!

尝试失败,再接着看command对象属性,发现其也有类似属性!CommandTimeout设置一下:

SqlCommand cmd = new SqlCommand();
cmd.CommandTimeout = 180;