- 由 张雪琼创建, 最终由 潘家宜修改于 八月 15, 2023
(本文档仅供参考)
问题
打开报表或数据源测试连接提示如下错误:CLIENT_PLUGIN_AUTH is required ,这是为什么?
展开源码
连接池初始化失败:CLIENT_PLUGIN_AUTH is required at smartbi.freequery.basicdata.MetaDataServiceImpl.testConnection(MetaDataServiceImpl.java:405) at ...(...) at smartbi.connectionpool.ConnectionPool$6.createConnection(ConnectionPool.java:696) Caused by: java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:79) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:827) at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:447) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:237) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199) at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37) at smartbi.connectionpool.ConnectionPool$6.createConnection(ConnectionPool.java:696) at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290) at smartbi.connectionpool.ConnectionPool$7.makeObject(ConnectionPool.java:747) at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:840) at smartbi.connectionpool.ConnectionPool$5.borrowObject(ConnectionPool.java:657) at org.apache.commons.dbcp.PoolingDriver.connect(PoolingDriver.java:175) at smartbi.connectionpool.ConnectionPool.driverConnect(ConnectionPool.java:304) at smartbi.connectionpool.ConnectionPool.getConnection(ConnectionPool.java:491) at smartbi.connectionpool.ConnectionPool.getConnection(ConnectionPool.java:453) at smartbi.freequery.basicdata.MetaDataServiceImpl.testConnection(MetaDataServiceImpl.java:384) at smartbi.freequery.client.datasource.DataSourceService.testConnectionList(DataSourceService.java:190) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at smartbi.framework.rmi.ClientService.execute(Smartbi:118) at smartbi.framework.rmi.RMIServlet.processExecute(RMIServlet.java:218) at smartbi.framework.rmi.RMIServlet.doPost(RMIServlet.java:156) at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at smartbi.extension.ExtensionFilter$2.doFilter(ExtensionFilter.java:157) at smartbi.extension.ExtensionFilter$1.doFilter(ExtensionFilter.java:146) at smartbi.extension.ExtensionFilter.doFilterInternal(ExtensionFilter.java:169) at smartbi.extension.ExtensionFilter.doFilter(ExtensionFilter.java:55) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at smartbi.framework.rmi.TransactionFilter.doFilter(Smartbi:102) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at smartbi.freequery.filter.GZIPFilter.doFilter(GZIPFilter.java:174) at smartbi.freequery.filter.Filter.doFilter(Filter.java:36) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at smartbi.freequery.filter.CheckIsLoggedFilter.doFilter(CheckIsLoggedFilter.java:146) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at smartbi.freequery.filter.TraceFilter.doFilter(TraceFilter.java:59) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1822) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748) Caused by: com.mysql.cj.exceptions.UnableToConnectException: CLIENT_PLUGIN_AUTH is required at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85) at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:205) at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1348) at com.mysql.cj.NativeSession.connect(NativeSession.java:163) at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:947) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:817) ... 59 more
解决方案
问题原因:此问题是因为所使用的mysql驱动包太高导致的,mysql8的驱动未兼容mysql8以下的数据库版本,可能是两种原因
(1)内置mysql驱动版本是mysql5的驱动,数据源连接是mysql8及以上的数据库,但mysql8及以上的数据库必须使用mysql8及以上的驱动。
(2)内置mysql驱动自行更换为mysql8的驱动,数据源连接是mysql8及以下的数据库,但mysql8及以下的数据库必须使用mysql8及以下的驱动
对于此问题的解决方案:需要更换会原本的对应mysql数据库版本的驱动,V8及以前只能设置一个版本的驱动,V9及以上的版本可以通过自定义驱动进行设置,自定义驱动设置可以参考V9及以上版本,自定义驱动可参考文档:如何向Smartbi中添加数据库驱动jar
V8及以下版本,更换内置mysql驱动,可参考文档:Smartbi_V8配置MySQL8作为知识库
Viewtracker License Missing
There is a problem with the license of the Viewtracker addon. Please check if you have a valid license.
授权码细节- 无标签