远程主机强迫关闭了一个现有的连接,如何解决

时间:2022-09-07 23:49:47
请教大家,该程序为用C#+sqlserver2000开发的WINfORM程序,平时使用一切正常,现有两个客户端同时去连接服务器,其中一个一直正常,另一台机器,有时打开程序,早常的出现这样的提示:
在向服务器发送请求时,发生传输级错误,TRovider.TCP提供程序,ERROR:远程主机强迫半闭了一个现有的连接。
找不出具体原因,关键是同样的程序,另一台机器一切正常,长时间不退出程序也没有这样的错误。而这一台机器就经常出现,出现后再连接不上,只有重新启动机器后才能连接上。
请教是什么原因。如何解决?

5 个解决方案

#1


应该是网络不稳定,检查网卡网线交换机,当然程序也需要处理这个错误。

#2


排出网络故障后(ping host -t ),再瞧瞧防火墙设置(关掉防火墙测试)

#3


引用楼主 lid123456 的回复:
……
只有重新启动机器后才能连接上
……

很明显:数据库连接数超过了连接池的最大限制(频繁的建立连接而没有释放),检查代码,释放资源,该Dispose()的SqlConnection就Dispose掉

#4


请教什么时候该使用Dispose()的SqlConnection就Dispose掉

我记得我的程序中直接就没用这个dispose,因为程序是一个交费程序,在获取用户交费数据时,就要调用数据库操作类中的建数据集的方法,也就相应的也调用了建立连接方法。在这方面该如何优化。谢谢

#5


对数据操作结束后就调用Dispose,或者用try,catch,finally

#1


应该是网络不稳定,检查网卡网线交换机,当然程序也需要处理这个错误。

#2


排出网络故障后(ping host -t ),再瞧瞧防火墙设置(关掉防火墙测试)

#3


引用楼主 lid123456 的回复:
……
只有重新启动机器后才能连接上
……

很明显:数据库连接数超过了连接池的最大限制(频繁的建立连接而没有释放),检查代码,释放资源,该Dispose()的SqlConnection就Dispose掉

#4


请教什么时候该使用Dispose()的SqlConnection就Dispose掉

我记得我的程序中直接就没用这个dispose,因为程序是一个交费程序,在获取用户交费数据时,就要调用数据库操作类中的建数据集的方法,也就相应的也调用了建立连接方法。在这方面该如何优化。谢谢

#5


对数据操作结束后就调用Dispose,或者用try,catch,finally