今天在运行C#编写的程序时,遇到Timeout expired异常。(但每次存储过程也运行成功!?)
将SqlConnection 的connect timeout修改很大也解决不了问题。
上网google了一下,发现原来没有改对地方。
SqlConnection string 的connect timeout是建立连接的超时尝试时间,而运行数据库命令的超时尝试时间是
Sqlcommand.conntiontimeout,缺省值也是30
修改Sqlcommand.conntiontimeout = 300后至少运行界面时不弹出异常了(debug 时似乎有小问题)。算是问题基本解决。
引用一下别人说法:
Connection 对象的 CommandTimeout 设置对同一 Connection 中 Command 对象上的 CommandTimeout 设置没有影响,即 Command 对象的 CommandTimeout 属性不继承 Connection 对象的 CommandTimeout 值。