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

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 に答える