jdbcを使用してmysql dbに接続しようとしていますが、例外が発生しました。どうも! ドライバのバージョンは6.0.6、mysql dbのバージョンは5.7.18です。JDBC mysqlに接続できません
エラーはArrayIndexOutOfBoundsExceptionによって発生しているようですが、実際にはわかりません!
コード:
package test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Test {
@org.junit.jupiter.api.Test
public void test(){
try {
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "admin");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
スタック
java.sql.SQLNonTransientConnectionException: Could not create connection to database server.
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:526)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:513)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:505)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:479)
at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:1779)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:1596)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:633)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:347)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:219)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at test.Test.test(Test.java:13)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 39
at com.mysql.cj.mysqla.io.Buffer.readInteger(Buffer.java:271)
at com.mysql.cj.mysqla.io.MysqlaCapabilities.setInitialHandshakePacket(MysqlaCapabilities.java:62)
at com.mysql.cj.mysqla.io.MysqlaProtocol.readServerCapabilities(MysqlaProtocol.java:482)
at com.mysql.cj.mysqla.io.MysqlaProtocol.beforeHandshake(MysqlaProtocol.java:367)
at com.mysql.cj.mysqla.io.MysqlaProtocol.connect(MysqlaProtocol.java:1412)
at com.mysql.cj.mysqla.MysqlaSession.connect(MysqlaSession.java:132)
at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:1726)
... 36 more
チェックリスト:接続文字列:サーバーのIP、ユーザー名、パスワード、ポート、JDBCドライバー。 –
[jdbc:データベースサーバへの接続を作成できませんでした](https://stackoverflow.com/questions/41637604/jdbc-could-not-create-connection-to-database-server) – aurelius
MySQL Connector/J 6.xはまだ開発中であり、したがって不安定です。代わりに5.1.42を使用する必要があります。 –