0

我正在使用以下代码建立 SQL 连接,但出现错误。

我正在使用netbeans,而netbeans 本身能够连接到数据库。我的代码由于某种原因不允许我连接并声明我没有合适的驱动程序。我正在导入 SQL 驱动程序,所以我不确定出了什么问题。

我是不是形成了不恰当的东西?

May 20, 2013 11:06:18 AM sample_server.DatabaseManagement Connection
SEVERE: No suitable driver found for jdbc:mysql://XXXXXXX:3306/javaBBS
java.sql.SQLException: No suitable driver found for jdbc:mysql://XXXXXX:3306/javaBBS
    at java.sql.DriverManager.getConnection(DriverManager.java:604)
    at java.sql.DriverManager.getConnection(DriverManager.java:221)
    at sample_server.DatabaseManagement.Connection(DatabaseManagement.java:31)
    at sample_server.OneLiner.<init>(OneLiner.java:14)
    at sample_server.MenuSystemClass.MainMenu(MenuSystemClass.java:38)
    at sample_server.doComms.run(Sample_server.java:55)
    at java.lang.Thread.run(Thread.java:722)

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sample_server;

import com.sun.corba.se.impl.util.Version;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Aaron
 */
public class DatabaseManagement {
    DatabaseManagement(){}
    /**
     *
     */
    public void Connection() {
        Connection con = null;
        Statement st = null;
        ResultSet rs = null;

        String url = "jdbc:mysql://XXX.XXX.XXX.XXX:3306/javaBBS";
        String user = "java";
        String password = "notarealpassword";

        try {
            con = DriverManager.getConnection(url, user, password);
            st = con.createStatement();
            rs = st.executeQuery("SELECT VERSION()");

            if (rs.next()) {
                System.out.println(rs.getString(1));
            }

        } catch (SQLException ex) {
            Logger lgr = Logger.getLogger(Version.class.getName());
            lgr.log(Level.SEVERE, ex.getMessage(), ex);

        } finally {
            try {
                if (rs != null) {
                    rs.close();
                }
                if (st != null) {
                    st.close();
                }
                if (con != null) {
                    con.close();
                }

            } catch (SQLException ex) {
                Logger lgr = Logger.getLogger(Version.class.getName());
                lgr.log(Level.WARNING, ex.getMessage(), ex);
            }
        }
    }
}


 try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
        } catch(Exception e) {
            System.out.println(e);
        }
        con = DriverManager.getConnection(url, user, password);
        st = con.createStatement();
        rs = st.executeQuery("SELECT VERSION()");

我添加了上面的内容,它仍然抛出同样的错误。我需要如何将类注册到 DriverManager 吗?

4

2 回答 2

5

正如每个 JDBC 教程都会向您展示的那样,您必须调用

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

ConnectionDriverManager.

另外,您需要在构建路径中有 mysql 连接器。

于 2013-05-20T16:20:13.407 回答
1

您可以尝试以下几件事:

  1. 使用 : 方法注册 JDBC 驱动程序,Class.forName("com.mysql.jdbc.Driver");以便加载驱动程序。

  2. 在数据库名称后的连接 url 字符串中:添加“?useSSL=false”,使其为jdbc:mysql://XXX.XXX.XXX.XXX:3306/javaBBS?useSSL=false

  3. 如果两者都不起作用,请尝试重新安装 JDBC 驱动程序

于 2020-11-13T10:35:55.523 回答