当前使用版本(必填,否则不予处理)
V3.5.3 sqlserver2012 不设置分页插件(MybatisPlusInterceptor#PaginationInnerInterceptor)的数据源类型的时候区分存在问题, 不知道是项目设置的sqlserver jdbc-url的问题还是框架的bug
项目数据库配置:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
url: jdbc:sqlserver://ip:port;DatabaseName=xxx
username: xxx
password: xxx
该问题是如何引起的?(确定最新版也有问题再提!!!)
最新版3.5.3.1存在该问题
区分sqlserver版本存在问题,无法区分sqlserver2012还是sqlserver2005
重现步骤(如果有就写完整)
调用链:PaginationInnerInterceptor.beforeQuery -> PaginationInnerInterceptor.findIDialect -> JdbcUtils.getDbType(Executor) -> JdbcUtils.getDbType(String)
报错信息
Comment From: miemieYaho
你有好的区分方法吗?
Comment From: whiteppure
在获取数据库连接(Connection) 对象的时候可以拿到版本属性,可以通过版本属性来判断
- SQL Server 2000: 版本号为8.x
- SQL Server 2005: 版本号为9.0.x
- SQL Server 2008: 版本号为10.0.x
- SQL Server 2008 R2: 版本号为10.5.x
- SQL Server 2012: 版本号为11.x
- SQL Server 2014: 版本号为12.x
- SQL Server 2016: 版本号为13.
- SQL Server 2017: 版本号为14.x
- SQL Server 2019: 版本号为15.x
你有好的区分方法吗?
Comment From: miemieYaho
代码是如何?可有debug截图?
Comment From: whiteppure
Comment From: whiteppure
亲 @miemieYaho 啥时候能修改啊 还是你们觉得没必要修改
Comment From: qmdx
亲 @miemieYaho 啥时候能修改啊 还是你们觉得没必要修改
你可以自定义下方言参考文档 https://baomidou.com/pages/97710a/#%E6%94%AF%E6%8C%81%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93
SQLServer 目前已经有 2 个方言版本内置了,每个版本的分页竟然都不一样我们也很无语,没法全部版本都支持到 。
建议自己实现方法注入即可,感谢支持!!