为什么会出现以下错误?
System.Data.SqlClient.SqlException超时已过期。操作完成之前经过的超时时间或服务器没有响应
答案 0 :(得分:0)
根据您的情况和错误信息,我认为这可能主要是由两个原因造成的:
长时间运行的任务:在默认情况下SQL连接将等待30秒,但是在这段时间内,如果仍然无法连接到数据库,则会抛出错误类型。
由于第二个原因,可能存在未提交的事务。
当然,你不应该在你不想使用它的时候关闭Connnection(建议使用......声明)
有关此类问题的详情,请参阅:
答案 1 :(得分:0)
您通常应该尝试编写快速sql(<100ms),否则您的应用程序对于最终用户来说会很迟钝。
如果您的服务器在您手动发送请求时及时回复, 表上可能存在读锁定,第二个查询在处理之前一直等待读锁定结束。
在这种情况下,尝试将WITH(NOLOCK)或WITH(READUNCOMMITTED)添加到select语句中。