可以排查下:
1、目标数据库是否开启了服务。
2、目标数据库是否开启了监听。
3、目标服务器是否有防火墙或是网络策略限制不允许访问。
4、检查下访问的配置是否正确,如IP、端口号、用户信息等等。
5、访问账号的连接数是否过多等等。
池式连接超时的解决方法:
1、修改几个关键页面或访问比较频繁的数据库访问 *** 作,使用DataAdapter和DataSet来获取数据库数据,不要使用DataReader。
2、在访问数据库的页面上使用数据缓存,如果页面的数据不是经常更新(几分钟更新一次)的话,使用Cache对象可以不用访问数据库而使用缓存中的内容,那么可以大大减少连接数量。
3、修改代码,把使用Connection对象的地方都在Close()后面加上Dispose()调用。
池式连接超时的原因
系统割接后,中间件和数据库进行了防火墙隔离,由于数据库和应用都进行了割接,系统架构由原先的单一网络变成了跨系统部署,数据库和应用之间的访问通过防火墙;而防火墙这边对空闲的连接配置了超时时间(一般默认为30分钟),一旦超过时间,会自动将连接断掉。
而断掉后,应用程序这一侧的数据库连接池这边还是认为该连接有效,它只在应用获取该连接时才会进行一个有效性测试,会每间隔一个时间尝试一次,尝试n次后才确定该连接失效,发起重连,最终造成业务耗时长。
由于连接池连接数很多,势必造成有部分连接空闲时间超过了防火墙的设置,而应用程序这边没有配置对空闲连接的维护参数,空闲连接会一直认为有效,所以该现象只会出现在连接池中的空闲连接上;当应用获取已被防火墙断开的空闲连接时,就会造成应用的响应慢,或者直接提示connection timed out异常。
没有。登录华为防火墙时出现了连接超时,是防火墙的问题,不是功能,因此没有数据访问超时的功能的。华为技术有限公司是一家生产销售通信设备的民营通信科技公司,于1987年正式注册成立,总部位于中国广东省深圳市龙岗区坂田华为基地。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)