超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小

这种错误分两种情况:

1. 没有设置连接池, 或者连接池设置太小, 可以设置 256 或者 512

data source=ip,port;initial catalog=dbName;user id=?;password=?;
Max Pool Size=256;Min Pool Size=10;
Pooling=true;

2. 大部分是远程连接, 网络有问题, 大部分时候可用, 偶尔中断, 但也有可能是本地库, 但是sqlserver服务重启了或其它原因中止(见过有人一周用计划任务定时重启一次)。

      这种非常隐蔽, 如果你按连接池来处理是走弯路的了。可以打开 Windows 的事件查看器,查看对应时间段的 Windows 日志。

 

本文系转载, 原文地址:https://blog.csdn.net/yenange/article/details/76273364

你可能感兴趣的:(C#)