java mybatis sql server未返回响应。连接已关闭

问题描述:

多次执行同一sql,频繁出现 sql server未返回响应。连接已关闭

原因分析:

在控制台返回的内容是在插入参数 error occur setting parameter
由于性能要求,我这是一条大sql,插入参数多达一千多个。

解决方案:

在Hirika参数配置中加入参数
connection-timeout: 100000
conection-test-query: select 1
添加了此参数后,未返回响应的报错频率大幅度下降,但偶尔还是会有,其实这个方案是我猜的,由于我的报错发生在参数插入阶段,我猜测是因为我的参数太多,插入参数时间过长未返回相应被数据库框架判定为连接已关闭,所以我把连接超时的时间设置长一些以达到目的,我一直在找这个连接超时的参数是在一个什么场景连接超时,但是没找到,下来再想想办法找找看。
由于偶尔还是会有报错,我又尝试修改了数据库连接池的数量,由50改成了10,结果频繁出现Error attempting to get column XXX sql server返回的响应不完整 ,百度说是并发多达200以上容易出现取值偏差,最后还是把数量改回50,减少每次查询的传参,基本屏蔽了这几个bug。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你的sql server 2000远程连接时,无法打开1433端口,请按照以下顺序进行检查和修正: 1.如果你是win2003,那么一定要安装sql的补丁sp3a 检查你的SQL有没有打补丁,没有的话要打上补丁,检查的方法是在查询分析器中运行: select @@version 如果出来的版本号是8.00.760以下,则表明你安装sp3的补丁,要装上. SQL补丁下载: 全部补丁的位置 http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=9032f608-160a-4537-a2b6-4cb265b80766 注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装 2.SQL Server连接中的四个最常见错误: 一."SQL Server 不存在或访问被拒绝" 这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多. 一般说来,有以下几种可能性: 1,SQL Server名称或IP地址拼写有误 2,服务器端网络配置有误 3,客户端网络配置有误 要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因. ============= 首先,检查网络物理连接 ============= ping 如果 ping 不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,HUB,路由器等. 还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如 ISA Server.防火墙软件可能会屏蔽对 ping,telnet 等的响应 因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口. 如果ping 成功而,ping 失败 则说明名字解析有问题,这时候要检查 DNS 服务是否正常. 有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析, 具体的方法是: 1.使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc). 添加一条IP地址与服务器名称的对应记录,如: 172.168.10.24 myserver 2.或在 SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明. ============= 其次,使用 telnet 命令检查SQL Server服务器工作状态 ============= telnet 1433 如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的 TCP/IP 连接 如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动 SQL Server 服务, 也可能服务器端没启用 TCP/IP 协议,或者服务器端没有在 SQL Server 默认的端口1433上监听.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值