前提・実現したいこと
ほぼ全くの初心者なのですが、eclipseで作ったプロジェクトのlibフォルダにmysql-connector-java-5.1.47-bin.jarを入れて接続しようとしましたがつながりません。
発生している問題・エラーメッセージ
ドライバのロードに失敗しました java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73) at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:905) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:830) at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:207) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:270) at MyQuery.main(MyQuery.java:18) Caused by: com.mysql.cj.exceptions.CJException: Access denied for user ''@'localhost' (using password: NO) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151) at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:129) at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:809) at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:734) at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:702) at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:132) at com.mysql.cj.protocol.a.NativeAuthenticationProvider.proceedHandshakeWithPluggableAuthentication(NativeAuthenticationProvider.java:540) at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:202) at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1442) at com.mysql.cj.NativeSession.connect(NativeSession.java:165) at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:849) ... 7 more
該当のソースコード
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class MyQuery { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ Connection conn = null; String url = "jdbc:mysql://localhost/helloworld?useSSL=false&requireSSL=false"; String user = "root"; String password = "password"; String msg = ""; try { // ドライバロード Class.forName("com.mysql.jdbc.Driver"); // MySQLに接続 conn = DriverManager.getConnection(url, user, password); // ステートメント生成 Statement stmt = conn.createStatement(); // SQLを実行 ResultSet rs = stmt.executeQuery("SELECT * FROM test"); // 結果行をループ while(rs.next()){ // レコードの値 int Field = rs.getInt("helloworld"); //表示 System.out.println(Field); } // 接続を閉じる rs.close(); stmt.close(); }catch (ClassNotFoundException e){ msg = "ドライバのロードに失敗しました"; System.out.println(msg); e.printStackTrace(); }catch (Exception e){ msg = "ドライバのロードに失敗しました"; System.out.println(msg); e.printStackTrace(); } } }
と出てしまうのでmysql-connector-java-5.1.47-bin.jarを入れるフォルダが間違っているのかなと思っています。
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
このサイト通りに進めればできるなどあれば教えてください。