之前,MySQL使用的是5.7版本,驱动使用FineBI默认提供的mysql-connector-java-5.1.49-bin.jar,该阶段,连MySQL与MyCat(1.6.7)均没有问题,MyCat展示的是逻辑主表,可以正常操作、执行报表统计。
现在,MySQL升级到8.0.33版本,FineBI使用默认驱动无法正常连接MySQL了,因此手动替换了webapps\webroot\WEB-INF\lib路径下的驱动为mysql-connector-java-8.0.29.jar,此时FineBI可以正常访问8.0的MySQL,但无法连接MyCat了,创建的连接直接报错。
又尝试了8.0.13、8.0.29版本的jar驱动,均无法连接MyCat。
因为FineBI 5.1.16版本尚不支持驱动的自定义,同一类型数据库只能使用一个驱动,有什么办法可以解决无法连接MyCat的问题?
报错信息如下:
2023/08/24 19:11:50 http-nio-37799-exec-6 ERROR [standard] connection us_mycat get tables and views fail:java.sql.SQLSyntaxErrorException: com.alibaba.druid.sql.ast.expr.SQLInListExpr cannot be cast to com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: com.alibaba.druid.sql.ast.expr.SQLInListExpr cannot be cast to com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr at com.fr.data.operator.DataOperator.doWithConnection(DataOperator.java) ~[fine-core-11.0.jar:?] at com.fr.data.operator.DataOperator.getTableProcedure(DataOperator.java) ~[fine-core-11.0.jar:?] at com.fr.data.core.DataCoreUtils.getTables(DataCoreUtils.java) ~[fine-core-11.0.jar:?] at com.finebi.common.impl.provider.DefaultDatabaseConnectionProvider.getConnectionTableProcedures(DefaultDatabaseConnectionProvider.java:79) ~[fine-bi-middle-5.1.jar:?] at com.finebi.burger.impl.service.FineConnectionServiceImpl.getTablesByConnectionName(FineConnectionServiceImpl.java:81) ~[fine-bi-engine-spider-5.1.jar:?] at com.finebi.spider.web.action.v5.conf.FineConnectionAction.getTablesByConnName(FineConnectionAction.java:40) ~[fine-bi-engine-spider-5.1.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_332] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_332] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_332] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_332] at com.fr.third.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[fine-third-11.0.jar:?] at com.fr.third.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133) ~[fine-third-11.0.jar:?] at com.fr.third.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97) ~[fine-third-11.0.jar:?] at com.fr.third.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:854) ~[fine-third-11.0.jar:?] at com.fr.third.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:765) ~[fine-third-11.0.jar:?] at com.fr.third.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[fine-third-11.0.jar:?] at com.fr.third.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) ~[fine-third-11.0.jar:?] at com.fr.third.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) ~[fine-third-11.0.jar:?] at com.fr.third.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) ~[fine-third-11.0.jar:?] at com.fr.third.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) ~[fine-third-11.0.jar:?] at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[fine-bi-engine-third-5.1.jar:?] at com.fr.third.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) ~[fine-third-11.0.jar:?] at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[fine-bi-engine-third-5.1.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[catalina.jar:8.5.79] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.79] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ~[tomcat-websocket.jar:8.5.79] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.79] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.79] at com.fr.decision.webservice.BackupActivator$1.doFilter(BackupActivator.java:77) ~[fine-decision-11.0.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.79] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.79] at com.fr.decision.webservice.filter.TenantFilter.doFilter(TenantFilter.java:55) ~[fine-decision-11.0.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.79] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.79] at com.fr.decision.base.DecisionServletInitializer$6.doFilterInternal(DecisionServletInitializer.java:259) ~[fine-decision-11.0.jar:?] at com.fr.third.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[fine-third-11.0.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.79] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.79] at com.fr.decision.base.VirtualFilterChain.doFilter(VirtualFilterChain.java:34) ~[fine-decision-11.0.jar:?] at com.fr.decision.base.DecisionServletInitializer$4.doFilter(DecisionServletInitializer.java:191) ~[fine-decision-11.0.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.79] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.79] at com.fr.decision.webservice.filter.CookieCheckFilter.doFilterInternal(CookieCheckFilter.java:37) ~[fine-decision-11.0.jar:?] at com.fr.third.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[fine-third-11.0.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.79] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.79] at com.fr.plugin.system.operation.ops.filter.OpsIgnoreFilter.doFilter(Unknown Source) ~[?:?] at com.fr.decision.base.DecisionServletInitializer$5.doFilter(DecisionServletInitializer.java:220) ~[fine-decision-11.0.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.79] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.79] at com.fr.third.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) ~[fine-third-11.0.jar:?] at com.fr.third.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[fine-third-11.0.jar:?] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:8.5.79] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:8.5.79] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[catalina.jar:8.5.79] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[catalina.jar:8.5.79] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) ~[catalina.jar:8.5.79] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[catalina.jar:8.5.79] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[catalina.jar:8.5.79] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[catalina.jar:8.5.79] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:367) ~[catalina.jar:8.5.79] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:639) ~[tomcat-coyote.jar:8.5.79] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-coyote.jar:8.5.79] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:882) ~[tomcat-coyote.jar:8.5.79] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1647) ~[tomcat-coyote.jar:8.5.79] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-coyote.jar:8.5.79] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-util.jar:8.5.79] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-util.jar:8.5.79] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:8.5.79] at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_332] Caused by: java.sql.SQLSyntaxErrorException: com.alibaba.druid.sql.ast.expr.SQLInListExpr cannot be cast to com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:972) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.DatabaseMetaDataUsingInfoSchema.executeMetadataQuery(DatabaseMetaDataUsingInfoSchema.java:71) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.mysql.cj.jdbc.DatabaseMetaDataUsingInfoSchema.getTables(DatabaseMetaDataUsingInfoSchema.java:872) ~[mysql-connector-j-8.0.32.jar:8.0.32] at com.fr.data.core.db.dialect.base.key.table.procedure.DialectFetchTableProcedureKey.execute(DialectFetchTableProcedureKey.java:48) ~[fine-datasource-11.0.jar:?] at com.fr.data.core.db.dialect.base.key.table.procedure.DialectFetchTableProcedureKey.execute(DialectFetchTableProcedureKey.java:19) ~[fine-datasource-11.0.jar:?] at com.fr.data.core.db.dialect.AbstractDialect.execute(AbstractDialect.java) ~[fine-core-11.0.jar:?] at com.fr.data.core.db.dialect.DefaultDialect.getTableProcedure(DefaultDialect.java:197) ~[fine-datasource-11.0.jar:?] at com.fr.data.operator.DataOperator$5.apply(DataOperator.java) ~[fine-core-11.0.jar:?] at com.fr.data.operator.DataOperator$5.apply(DataOperator.java) ~[fine-core-11.0.jar:?] ... 70 more |
0
|
|