Specifying external system driver is ignored

XMLWordPrintable

    • Type: Bug
    • Resolution: Won't Fix
    • Priority: Minor
    • 5.17.2
    • Affects Version/s: 4.17.6
    • Component/s: API
    • None

      In this example, it needs to connect to an older mysql database, which uses a different driver class (v5 is com.mysql.jdbc.Driver, v9 is com.mysql.cj.jdbc.Driver)

              driver: com.mysql.jdbc.Driver
              pass: xxxxxxxx
              url: jdbc:mysql://iam.example.edu:3306/iam
              user: grouperdev
      

      Results in

      java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required
      	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:102)
      	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
      	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:81)
      	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:55)
      	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:65)
      	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:70)
      	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:837)
      	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:420)
      	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:238)
      	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:180)
      	at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175)
      	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220)
      	at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206)
      	at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203)
      	at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1176)
      	at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1163)
      	at com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44)
      	at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1908)
      	at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)
      Caused by: com.mysql.cj.exceptions.UnableToConnectException: CLIENT_PLUGIN_AUTH is required
      	at jdk.internal.reflect.GeneratedConstructorAccessor130.newInstance(Unknown Source)
      	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
      	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
      	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:52)
      	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:76)
      	at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:147)
      	at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1333)
      	at com.mysql.cj.NativeSession.connect(NativeSession.java:155)
      	at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:961)
      	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:825)
      

      So it's using the newer driver even though I specified the old one.

            Assignee:
            Chad Redman
            Reporter:
            Chad Redman
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: