【问题标题】:Diagnosing MATLAB MySQL JDBC Driver Error (Windows)诊断 MATLAB My​​SQL JDBC 驱动程序错误 (Windows)
【发布时间】:2018-12-31 09:44:19
【问题描述】:

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

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

错误信息:找不到 JDBC 驱动程序

JDBC driver 是:

  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 驱动解压到目标director
  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

Java 版本:

【问题讨论】:

  • 您是如何尝试连接到数据库的?根据这个page,该错误可能是由以下原因引起的:“使用'驱动程序'和'url'语法时提供的驱动程序名称不正确。”
  • OP 更新:database() 语句已在 OSX 机器上测试\验证
  • 关于类路径的任何启动错误?我想你已经重新启动了 MATLAB? jar文件也可以吗?尝试使用 zip 文件阅读器打开它?
  • 多次重启后没有启动错误。验证jar文件的程序/标准是什么?

标签: matlab jdbc


【解决方案1】:

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

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

您可以选择三个选项。

  1. 使用连接器/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

【讨论】:

  • ありがと 出色的研究,我喜欢你提出多种选择的方式。我选择的简单解决方案是使用 5.1
猜你喜欢
  • 1970-01-01
  • 2011-07-16
  • 2013-08-27
  • 2014-10-24
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多