【问题标题】:No suitable driver found for jdbc:mariadb (Netbeans)找不到适合 jdbc:mariadb (Netbeans) 的驱动程序
【发布时间】:2017-06-14 16:47:05
【问题描述】:

我正在为 MariaDB 使用mariadb-java-client-1.5.7.jar 连接器,但它不起作用。

这是连接代码:

    public DataAccess() throws SQLException, ClassNotFoundException {
        this.driver = "org.mariadb.jdbc.Driver";
        this.host = "jdbc:mariadb://localhost/bluebank";
        this.user = "root";
        this.password = ""; 
        Class.forName(this.driver);
        this.conn = DriverManager.getConnection(this.host, this.user, this.password);
    }

我明白了:

    java.sql.SQLException: No suitable driver found for jdbc:mariadb://localhost/bluebank
    at java.sql.DriverManager.getConnection(DriverManager.java:689)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at DAO.DataAccess.<init>(DataAccess.java:31)

除了将其作为外部 jar 添加到库之外,我还将它作为驱动程序添加到 Netbeans 中的(服务)中的数据库中。另外,如果我删除Class.forName(),它也不起作用。

【问题讨论】:

  • 你使用的是什么 DBMS,MySql 还是什么?
  • 给出的答案是正确的。我错过了港口。我不知道他为什么删除它。
  • 我是做这个的,我认为这是另一个问题,因为我之前尝试过问一些问题
  • “不起作用”对我不起作用。

标签: java jdbc netbeans mariadb


【解决方案1】:

用mysql替换url中的mariadb:

我自己也遇到过这个问题:解决方案很简单...... MariaDB 基本上仍然是 MySQL。因此,在您用于连接数据库的 URL(jdbc:mariadb://localhost:3306)中,您可以只使用 jdbc:mysql://localhost:3306

我仍然不知道为什么其他解决方案都没有奏效,但至少它是一个解决方案

【讨论】:

    【解决方案2】:

    今天有类似的事情。在 Eclipse 中工作,而不是在纯 Java 中工作。

    对我来说,拥有很重要

    Class.forName ("org.mariadb.jdbc.Driver");
    

    让它无处不在。

    【讨论】:

      【解决方案3】:

      您忘记了数据库的端口号:

      this.host = "jdbc:mariadb://localhost:port_number/bluebank";
      

      确保您的 db 连接器 jar 存在于您的 jar 库中:https://mariadb.com/kb/en/mariadb/about-mariadb-connector-j/

      您可以在这里了解更多信息:

      Connect to MariaDB from Java application in NetBeans on Linux (Mageia)

      希望对你有帮助

      【讨论】:

      • 如果这是实际原因,我会感到非常惊讶,因为驱动程序在未指定端口时默认使用端口 3306,另请参阅the documentation,这清楚地表明端口是可选的
      • 嗯,我不知道@MarkRotteveel 我建议这个解决方案,实际上它对他有用,或者他有另一个端口?
      • 也许,或者他们是一个不相关的问题(过时的文件),并且编辑配置触发了重建或其他解决问题的方法
      • 好的@MarkRotteveel,所以,你发现我的回答没用,也许OP可以与我们分享如何与他一起工作:)
      • 我可以理解,对于 OP 来说,这似乎解决了他的问题(这也是我没有投反对票或其他任何事情的原因),但是 - 忽略 MariaDB Connector/J 中存在错误的可能性 -这不可能是真正修复它的原因。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-12
      • 2012-12-09
      • 2016-04-02
      • 2019-03-08
      • 2013-03-16
      相关资源
      最近更新 更多