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
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.
解决方案
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.