具体报错如下在人大金仓数据库中报 com.alibaba.druid.sql.parser.ParserException: syntax error, error in :,) WITHIN GROUP (ORDER BY mix_info) AS m, expect BY, actual (, pos 669, line 1, column 669, token ( at com.alibaba.druid.sql.parser.SQLParser.printError(SQLParser.java:881) ~[druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.parser.SQLParser.accept(SQLParser.java:887) ~[druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.parser.SQLSelectParser.parseGroupBy(SQLSelectParser.java:892) ~[druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.parser.SQLSelectParser.query(SQLSelectParser.java:508) ~[druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.parser.SQLSelectParser.select(SQLSelectParser.java:78) ~[druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.parser.SQLSelectParser.parseTableSourceRest(SQLSelectParser.java:1799) ~[druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.parser.SQLSelectParser.parseTableSourceRest(SQLSelectParser.java:2077) ~[druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.parser.SQLSelectParser.parseTableSourceRest(SQLSelectParser.java:2077) ~[druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.parser.SQLSelectParser.parseTableSourceRest(SQLSelectParser.java:1633) ~[druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.parser.SQLSelectParser.parseTableSource(SQLSelectParser.java:1333) ~[druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.parser.SQLSelectParser.parseFrom(SQLSelectParser.java:1195) ~[druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.parser.SQLSelectParser.query(SQLSelectParser.java:504) ~[druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.parser.SQLSelectParser.select(SQLSelectParser.java:78) ~[druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.parser.SQLStatementParser.parseSelect(SQLStatementParser.java:4872) ~[druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:233) ~[druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:108) ~[druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.SQLUtils.format(SQLUtils.java:384) [druid-1.2.27.jar!/:na] at com.alibaba.druid.sql.SQLUtils.format(SQLUtils.java:377) [druid-1.2.27.jar!/:na] at org.springblade.core.mp.plugins.SqlLogInterceptor.statement_close(SqlLogInterceptor.java:128) [blade-starter-mybatis-3.2.0.nc.RELEASE.jar!/:na] at com.alibaba.druid.filter.FilterChainImpl.statement_close(FilterChainImpl.java:2903) [druid-1.2.27.jar!/:na] at com.alibaba.druid.proxy.jdbc.StatementProxyImpl.close(StatementProxyImpl.java:130) [druid-1.2.27.jar!/:na] at com.alibaba.druid.pool.DruidPooledStatement.close(DruidPooledStatement.java:507) [druid-1.2.27.jar!/:na] at com.alibaba.druid.pool.DruidPooledPreparedStatement.closeInternal(DruidPooledPreparedStatement.java:195) [druid-1.2.27.jar!/:na] at com.alibaba.druid.pool.DruidPooledConnection.closePoolableStatement(DruidPooledConnection.java:192) [druid-1.2.27.jar!/:na] at com.alibaba.druid.pool.DruidPooledPreparedStatement.close(DruidPooledPreparedStatement.java:187) [druid-1.2.27.jar!/:na] at org.apache.ibatis.executor.BaseExecutor.closeStatement(BaseExecutor.java:286) [mybatis-3.5.13.jar!/:3.5.13] at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:67) [mybatis-3.5.13.jar!/:3.5.13] at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:333) [mybatis-3.5.13.jar!/:3.5.13] at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158) [mybatis-3.5.13.jar!/:3.5.13] at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81) [mybatis-plus-extension-3.5.3.2.jar!/:3.5.3.2] at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) [mybatis-3.5.13.jar!/:3.5.13] at com.sun.proxy.$Proxy648.query(Unknown Source) [na:na] at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154) [mybatis-3.5.13.jar!/:3.5.13] at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147) [mybatis-3.5.13.jar!/:3.5.13] at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142) [mybatis-3.5.13.jar!/:3.5.13] at sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212] at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) [mybatis-spring-2.1.1.jar!/:2.1.1] at com.sun.proxy.$Proxy165.selectList(Unknown Source) [na:na] at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) [mybatis-spring-2.1.1.jar!/:2.1.1] at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:166) [mybatis-plus-core-3.5.3.2.jar!/:3.5.3.2] at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:77) [mybatis-plus-core-3.5.3.2.jar!/:3.5.3.2] at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) [mybatis-plus-core-3.5.3.2.jar!/:3.5.3.2] at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) [mybatis-plus-core-3.5.3.2.jar!/:3.5.3.2] at com.sun.proxy.$Proxy214.getResourceRoomList(Unknown Source) [na:na] at com.newcapec.dormStay.service.impl.StudentbedServiceImpl.getResourceRoomList(StudentbedServiceImpl.java:2607) [newcapec-dorm-stay-3.2.0.nc-SNAPSHOT.jar!/:na] at com.newcapec.dormStay.service.impl.StudentbedServiceImpl$$FastClassBySpringCGLIB$$cf2c7418.invoke(generated) [newcapec-dorm-stay-3.2.0.nc-SNAPSHOT.jar!/:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) [spring-core-5.3.29.jar!/:5.3.29] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) [spring-aop-5.3.29.jar!/:5.3.29] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) [spring-aop-5.3.29.jar!/:5.3.29] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) [spring-aop-5.3.29.jar!/:5.3.29] at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:123) [spring-context-5.3.29.jar!/:5.3.29] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) [spring-aop-5.3.29.jar!/:5.3.29] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) [spring-aop-5.3.29.jar!/:5.3.29] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) [spring-aop-5.3.29.jar!/:5.3.29] at com.newcapec.dormStay.service.impl.StudentbedServiceImpl$$EnhancerBySpringCGLIB$$f9f44346.getResourceRoomList(generated) [newcapec-dorm-stay-3.2.0.nc-SNAPSHOT.jar!/:na] at com.newcapec.dormStay.controller.ResourceController.queryFloorDetail(ResourceController.java:199) [newcapec-dorm-stay-3.2.0.nc-SNAPSHOT.jar!/:na] at com.newcapec.dormStay.controller.ResourceController$$FastClassBySpringCGLIB$$e74cfabe.invoke(generated) [newcapec-dorm-stay-3.2.0.nc-SNAPSHOT.jar!/:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) [spring-core-5.3.29.jar!/:5.3.29] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) [spring-aop-5.3.29.jar!/:5.3.29] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) [spring-aop-5.3.29.jar!/:5.3.29] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) [spring-aop-5.3.29.jar!/:5.3.29] at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) [spring-aop-5.3.29.jar!/:5.3.29] at org.springblade.core.log.aspect.RequestLogAspect.aroundApi(RequestLogAspect.java:120) [blade-starter-log-3.2.0.nc.RELEASE.jar!/:na] at sun.reflect.GeneratedMethodAccessor203.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212] at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) [spring-aop-5.3.29.jar!/:5.3.29] at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) [spring-aop-5.3.29.jar!/:5.3.29] at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) [spring-aop-5.3.29.jar!/:5.3.29] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175) [spring-aop-5.3.29.jar!/:5.3.29] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) [spring-aop-5.3.29.jar!/:5.3.29] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) [spring-aop-5.3.29.jar!/:5.3.29] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) [spring-aop-5.3.29.jar!/:5.3.29] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) [spring-aop-5.3.29.jar!/:5.3.29] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) [spring-aop-5.3.29.jar!/:5.3.29] at com.newcapec.dormStay.controller.ResourceController$$EnhancerBySpringCGLIB$$ede949ab.queryFloorDetail(generated) [newcapec-dorm-stay-3.2.0.nc-SNAPSHOT.jar!/:na] at sun.reflect.GeneratedMethodAccessor1418.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_212] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) [spring-web-5.3.29.jar!/:5.3.29] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) [spring-web-5.3.29.jar!/:5.3.29] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) [spring-webmvc-5.3.29.jar!/:5.3.29] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) [spring-webmvc-5.3.29.jar!/:5.3.29] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) [spring-webmvc-5.3.29.jar!/:5.3.29] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) [spring-webmvc-5.3.29.jar!/:5.3.29] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072) [spring-webmvc-5.3.29.jar!/:5.3.29] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965) [spring-webmvc-5.3.29.jar!/:5.3.29] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.3.29.jar!/:5.3.29] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) [spring-webmvc-5.3.29.jar!/:5.3.29] at javax.servlet.http.HttpServlet.service(HttpServlet.java:497) [jakarta.servlet-api-4.0.4.jar!/:4.0.4] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.3.29.jar!/:5.3.29] at javax.servlet.http.HttpServlet.service(HttpServlet.java:584) [jakarta.servlet-api-4.0.4.jar!/:4.0.4] at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:39) [blade-starter-log-3.2.0.nc.RELEASE.jar!/:na] at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at org.springblade.core.boot.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:62) [blade-core-boot-3.2.0.nc.RELEASE.jar!/:na] at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114) [druid-1.2.27.jar!/:na] at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) [spring-web-5.3.29.jar!/:5.3.29] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.29.jar!/:5.3.29] at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) [spring-web-5.3.29.jar!/:5.3.29] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.29.jar!/:5.3.29] at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96) [spring-boot-actuator-2.7.15.jar!/:2.7.15] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.29.jar!/:5.3.29] at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-5.3.29.jar!/:5.3.29] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) [spring-web-5.3.29.jar!/:5.3.29] at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) [undertow-core-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) [undertow-core-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) [undertow-core-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:275) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:79) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:134) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:131) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:255) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:79) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:100) [undertow-servlet-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.server.Connectors.executeRootHandler(Connectors.java:393) [undertow-core-2.2.26.Final.jar!/:2.2.26.Final] at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:852) [undertow-core-2.2.26.Final.jar!/:2.2.26.Final] at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) [jboss-threads-3.1.0.Final.jar!/:3.1.0.Final] at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2019) [jboss-threads-3.1.0.Final.jar!/:3.1.0.Final] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1558) [jboss-threads-3.1.0.Final.jar!/:3.1.0.Final] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1449) [jboss-threads-3.1.0.Final.jar!/:3.1.0.Final] at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) [xnio-api-3.8.7.Final.jar!/:3.8.7.Final] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212]问题分析这个报对应 SQL 中使用了 Oracle 语法listagg(to_char(mix_info),,) within group (order by mix_info) as mix_info人大金仓 Oracle 兼容模式可以正常执行这条 SQL但 BladeX 的SqlLogInterceptor在statement_close时调用 Druid 的SQLUtils.format()做日志格式化。Druid 1.2.27 对当前 dbType 无法正确解析LISTAGG ... WITHIN GROUP抛出ParserException由于方法上有SneakyThrows异常向上传播导致接口报错。错不是 SQL 在人大金仓里执行失败而是 SQL 日志打印阶段 抛出的异常。修复方案已在bladex-tool的SqlLogInterceptor中修复人大金仓/达梦/崖山数据库 统一按DbType.oracle格式化格式化失败时降级 为原始 SQL 输出不再影响业务接口/** * 格式化 SQL人大金仓等 Oracle 兼容库及 Druid 无法解析的语法降级为原始 SQL避免影响业务。 */ private static String formatSqlSafely(String sql, String dbType, ListObject parameters) { try { return SQLUtils.format(sql, resolveDbType(dbType), parameters, FORMAT_OPTION); } catch (Exception ex) { log.debug(SQL format failed, fallback to raw sql. dbType{}, reason{}, dbType, ex.getMessage()); return sql; } } /** * Oracle 兼容模式数据库人大金仓、达梦等统一按 Oracle 方言格式化。 */ private static DbType resolveDbType(String dbType) { // ... }