开发者社区> 问答> 正文

升级到 druid-1.1.6 后 sqlserver 在 validateConnection 时

升级到 druid-1.1.6 后报错: java.sql.SQLException: The setQueryTimeout method requires a parameter value >= 0. mssql-jdbc 和 jtds 驱动均报错,没有配置 validationQueryTimeout,但是在 druid-1.1.5 中没有问题

原提问者GitHub用户JaynLau

展开
收起
山海行 2023-07-05 20:34:27 209 0
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    您升级到druid-1.1.6后出现的问题,可能与Druid在1.1.6版本中对setQueryTimeout方法的参数值进行了检查有关。在Druid 1.1.6及以上版本中,setQueryTimeout方法的参数值必须大于等于0,否则会抛出java.sql.SQLException异常。

    根据您的描述,您没有配置validationQueryTimeout参数,这可能导致Druid在执行连接池的验证操作时,使用默认的超时时间(默认为1秒)。如果验证操作耗时超过了1秒,可能会导致setQueryTimeout方法的参数值为负数,进而抛出异常。

    2023-07-30 13:57:08
    赞同 展开评论 打赏
  • 您的问题可能是由于 druid 在升级到 1.1.6 版本后,对于查询超时的处理方式发生了变化所导致的。具体来说,如果您在使用 druid 时,没有配置 validationQueryTimeout 参数,但是在 druid 1.1.5 版本中仍然可以正常使用,但是在 druid 1.1.6 版本中却无法正常使用,那么可能是因为 druid 在 1.1.6 版本中对于查询超时的处理方式发生了变化,需要设置 validationQueryTimeout 参数才能正常使用。

    2023-07-11 10:06:52
    赞同 展开评论 打赏
  • 1.1.6版本Druid连接MSSQLServer 2008 R2报错The query timeout value -1 is not valid. fixed https://github.com/alibaba/druid/releases/tag/1.1.8

    原回答者GitHub用户JaynLau

    2023-07-06 11:52:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载