诊断MATLAB My​​SQL JDBC驱动程序错误(Windows)

时间:2018-07-23 21:08:13

标签: matlab jdbc

从MATLAB R2017a Windows-7尝试连接数据库失败。

conn = database(dbsource,username,password,'Vendor','MySQL', 'Server','mysql8.db4free.net','portnumber',3306)

错误消息:无法找到JDBC驱动程序

enter image description here

JDBC driver是:

enter image description here

  1. 这里是否有足够的信息来诊断错误消息的根本原因?
  2. 什么是根本原因和纠正措施?
  3. 为什么MATLAB指示JDBC驱动程序文件不在Java类路径上?补救?

对其他诊断信息请求的响应将添加到原始过帐中。

尝试通过单独测试javaclass路径中的每个文件来尝试这些JDBC驱动程序失败:

  1. C:\ drivers \ mysql-connector-java-6.0.6 \ mysql-connector-java-6.0.6-bin.jar
  2. C:\ drivers \ mysql-connector-java-8.0.11 \ mysql-connector-java-8.0.11.jar

JDBC驱动程序的“安装”包括

  1. 将.jar驱动程序解压缩到目标导演
  2. 确保C:\ Path \ driver.jar位于MATLAB的javaclasspath中
  3. 验证javaclasspath返回C:\ Path \ driver.jar
  4. 在MATLAB提示符下验证C:\ Path \ driver.jar(在步骤3中返回)

    >> dir('C:\ drivers \ mysql-connector-java-6.0.6 \ mysql-connector-java-6.0.6-bin.jar')

试图配置MATLAB的数据库浏览器应用程序返回了消息:

 JDBC driver file was not found on MATLAB java classpath

enter image description here

Java版本:

enter image description here

1 个答案:

答案 0 :(得分:2)

我已通过将MATLAB-R2017a与mysql-connector-java-8.0.11.jar一起使用来确认您的错误消息。

This page描述了Connector / J 8.0(包括mysql-connector-java-8.0.11.jar)仅支持JRE1.8.x。但是MATLAB R2017a使用JRE 1.7,因此R2017a不支持mysql-connector-java-8.0.11.jar。

为您提供三种选择。

  1. 使用Connector / J 5.1

    Connector / J 5.1支持JRE 1.7,因此它可以与MATLAB R2017a一起使用,并且还支持MySQL Server 8.0。您可以从here下载Connector / J 5.1。

  2. 将MATLAB更新到R2017b或R2018a

    从R2017b开始,MATLAB使用JRE 1.8,因此它可与Connector / J 8.0一起使用,包括已经拥有的mysql-connector-java-8.0.11.jar。

  3. 在MATLAB中更改Java版本 我不会推荐这种方法,但是您可以将MATLAB的Java版本从1.7更改为1.8,它将与mysql-connector-java-8.0.11.jar一起使用。有关详细信息,请参见this page