当前位置: 首页 > 知识库问答 >
问题:

无法将Java(Netbeans)连接到MariaDB

齐锐进
2023-03-14
/** To change this license header, choose License Headers in Project
 *   Properties.  * To change this template file, choose Tools | Templates 
 * and open the template in the editor.  
 */
package mariadbtest; 

import java.sql.*;


/**
 * 
 * @author AAAA  
 */ 
public class MariaDBTest {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args){  
        try {
            Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
            String url = "jdbc:MariaDB://localhost:3306/customer"; // url to access the DB
            String user = "root";
            String pwd="password";
     
            Connection connection = DriverManager.getConnection(url,user,pwd);
     
            System.out.println("Connected to MariaDB");
        } 
        catch (SQLException e) {
            System.out.println("SQL Exception: "+ e.toString()); 
        } 
        catch (ClassNotFoundException cE) {
            System.out.println("Class Not Found Exception: "+ cE.toString()); 
        }
        catch (Exception ex) {
            System.out.println("Exception: "+ ex.toString()); 
        }

        // TODO code application logic here
    }
}
    null

错误:SQL异常:java.SQL.sqlexception:找不到适合JDBC的驱动程序:mariadb://localhost:3306/customer构建成功(总时间:3秒)

共有1个答案

伍宝
2023-03-14

我认为问题在于您使用的MySQL Connector/J JDBC驱动程序带有它无法识别的URL。此URL

    jdbc:MariaDB://localhost:3306/customer

说要从“MariaDB”提供商那里寻找驱动程序。但很明显,MySQL驱动程序并没有(通过SPI)宣传自己是MariaDB驱动程序。

首先你应该摆脱这个:

Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
jdbc:mysql://localhost:3306/customer

根据MariaDB文档,MySQL Connector/J驱动程序与MariaDB兼容。但是MySQL Connector/J文档中没有提到在JDBC url中使用“mariadb”。

切换到MariaDB连接器/J驱动程序。根据文档,这应该支持

jdbc:mariadb://localhost:3306/customer

jdbc:mysql://localhost:3306/customer
 类似资料:
  • 我在将Netbeans中的Java与localhost中的mariadb连接时遇到问题。我已经看到一些类似的帖子,从Linux上NetBeans的Java应用程序连接到MariaDB(Mageia)但不起作用,这是非常相似的,所以我不知道为什么这个帖子不能帮助我。 我在/etc/my.cnf中选中了skip-networking指令,但它已经被注释了。

  • 2012年12月19日下午7:26:55 DBConnect严重:null java.sql.sqlexception:[Microsoft][ODBC Driver Manager]未找到数据源名称,也未在sun.jdbc.ODBC.jdbc.ddc.createsqlexception(jdbcodbc.jdbc.jdbc.jdbc.jdbc.jdbc.jdbc.jdbc.jdbc.jdbc.

  • 最近我在用JavaEE做这个小项目,我需要使用derby数据库,但每次我去服务- 无法连接。无法建立到jdbc的连接:derby://localhost:1527//sample使用组织。阿帕奇。德比。jdbc。ClientDriver(java.netConnectException:在端口1527上连接到服务器本地主机时出错,消息为Connection拒绝:connect.)。 这个例外: 有

  • 过了很长时间,我正在安装一台新机器。 我使用家庭酿造安装了java: 在我的。我添加的zshrc文件: 运行'java-version'会得到以下输出: openjdk 版本 “18.0.1.1” 2022-04-22 OpenJDK 运行时环境 自制 (生成 18.0.1.1 0) OpenJDK 64 位服务器虚拟机 自制 (构建 18.0.1.1 0, 混合模式, 共享) 当我尝试运行net

  • 问题内容: 我已经在RHEL7上安装了ES 7.5和Kibana 7.5,但是在启动Kibana并检查UI后,我看到了错误,“ Kibana服务器尚未准备好。” 检查Kibana日志,我发现它没有正确连接到ES。任何帮助表示赞赏! 这是 journalctl –unit kibana 的输出: Elasticsearch.yml Kibana.yml 另外,当我运行 ss -tunlp | gre

  • 我已经在RHEL7上安装了ES 7.5和Kibana 7.5,但是在启动Kibana并检查UI之后,我看到了错误,“Kibana服务器还没有准备好。” 检查Kibana日志,我看到它没有正确连接到ES。感谢任何帮助! 以下是journalctl的输出——单位kibana: 弹性搜索。yml 基巴纳。yml 此外,当我在Kibana启动期间运行ss-tunlp|grep 5601时,我看到Kiban