Database Explorer not seeing MySQL J Connect “Unab

2019-07-21 09:25发布

问题:

I'm running MATLAB R2018a and are trying to connect it to my MySQL 8.0.11 server using the database toolbox. I'm using this page as a guide.

I've installed the Connector J 8.0 using the MySQL installer and added the file to the class path (as described). Runningjavaclasspath gives me:

    STATIC JAVA PATH

C:\Program Files\MATLAB\R2018a\java\patch                                                                 
[.. removed many files]
C:\Program Files\MATLAB\R2018a\java\jar\zh_CN\webintegration_res.jar                                      
C:\Program Files (x86)\MySQL\Connector J 8.0\mysql-connector-java-8.0.11.jar                              

    DYNAMIC JAVA PATH

    <empty>

So it seems correct. Then I try (as described here):

d = com.mysql.cj.jdbc.Driver;
urlValid = d.acceptsURL('jdbc:mysql://localhost:3306/[*removed*]');
props = java.util.Properties;
props.put('user',[*removed*]); props.put('password',[*removed]*);
con = d.connect('jdbc:mysql://localhost:3306/[*removed*]',props)

It tells me

Tue Aug 07 10:59:16 CEST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

con =

com.mysql.cj.jdbc.ConnectionImpl@ea27e34

So that all seems good. And:

con2 = database('[*removed*]', '[*removed*]', '[*removed*]', 'com.mysql.cj.jdbc.Driver', 'jdbc:mysql://localhost:3306/[*removed*]')

Also works correctly.

HOWEVER

If I try to connect to the database using the MATLAB's ($400/year) database toolbox, I get "Unable to find JDBC driver file on MATLAB Java class path"

Am I doing something wrong, or is this a bug? Does anyone know how to fix this?

According to this answer the versions should be compatible.

回答1:

Hmm, this indeed seems to be a bug.

I just noticed the "Test" button was not grayed-out, as you can see in the image in the question. After entering my database details and pushing it I could enter my user name and password, which returned

Connection successful!

Then by saving it, closing the configure panel and connecting to the database using "New Query", I'm now successfully connected to my database.