SQL Server 服务器自动断开连接问题与解决

问题场景描述

任务要求是:使用JDBC从Sql server 服务器取得数据,然后转存到MySQL 服务器
可是呢,Sql server 服务器的连接Connection总是自动断开了,报错提示是“该连接已经关闭”或者“读取超时”;类似的是,
数据库管理工具Navicat在一段时间内,大约10分钟吧,不与远程的Sql server 数据库进行通讯,那么连接也会断开。

当前解决方案

  • 缩短每次请求的数据量,使得连接断开之前,发出一次新的请求,进而保持连接状态;
  • 拒绝“单例模式”的全局Connection对象,因为在多线程场景之中,某个线程使用完连接对象之后,会把连接关闭;当其他线程访问到已被关闭的全局连接对象,也会报错说“该连接已经被关闭”。所以嘛,每次请求方法时,都去创建一个新的连接,前一个连接用完就释放资源,频繁创建就是了。

猜你喜欢

转载自blog.csdn.net/qq_37040173/article/details/102618701