无法连接到MySQL数据库:找不到合适的驱动程序

时间:2017-03-07 08:53:24

标签: java mysql jdbc terminal

我在使用java和jdbc时遇到了一些麻烦。 特别是,虽然我的代码完全适用于NetBeans项目,但当我尝试在终端或我的ubuntu vps上执行它时(这是我需要它工作的地方)我总是得到这个例外:

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/quakes

首先要做的是:是的,我将jdbc .jar添加到execute命令和compile命令中;是的,我甚至试图添加

Class.forName("com.mysql.jdbc.Driver");

但我总是得到ClassNotFoundException: com.mysql.jdbc.Driver例外 我正在使用的.jar与我在NetBeans项目中使用的完全相同,所以我知道我有正确的东西,甚至从官方网站再次下载它也不会改变一件事。 是的,数据库存在,如果我尝试连接到另一个数据库,结果不会改变。 我也试过切换到postgresql(是的,我没有忘记更改网址),但无济于事,它仍然无法找到驱动程序。 有了这个,我猜测实际错误是在编译/执行命令中,但即使它们也应该没问题:

javac *.java <-cp mysql-connector-java-5.1.41-bin.jar >(&lt;&gt;括号表示我尝试使用和不指定类路径进行编译);

java TAW -cp mysql-connector-java-5.1.41-bin.jar

如果你想看到它,这是尝试连接数据库的方法:

public Connection getConnection() throws SQLException {
    if (conn == null) {
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/"+
        this.dbname,this.user,this.pass);
    }
    return conn;
}

有没有人知道为什么会这样?

2 个答案:

答案 0 :(得分:2)

您需要在主类的名称之前放置java的classpath选项,否则它被视为程序参数:

java -cp mysql-connector-java-5.1.41-bin.jar;. TAW

答案 1 :(得分:0)

You can use this method step by step to create connetion.

这是一个连接示例:

  Class.forName("com.mysql.jdbc.Driver");
                    // Setup the connection with the DB
                    connect = DriverManager
                                    .getConnection("jdbc:mysql://localhost/feedback?"
                                                    + "user=sqluser&password=sqluserpw");