Я получаю ошибку времени выполнения при подключении к базе данных в режиме онлайн через мою программу java, я только что создал класс только для подключения к базе данных с предоставленным паролем имени пользователя.
Примечание : Я разместил базу данных в виде капли в DigitalOcean с доступом к phpmyadmin.
import java.sql.*;
import javax.sql.*;
public class Connect
{
public static void main (String[] args)
{
Connection conn = null;
try
{
String url = "jdbc:mysql://159.203.105.235:22/xploreLanka";
String username = "root";
String password = "examplepassword";
Class.forName ("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection (url,username,password);
System.out.println ("Database connection established");
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
Приведенный выше код удерживается в течение почти 20–30 секунд и отображает следующую ошибку.
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.io.EOFException
STACKTRACE:
java.io.EOFException
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1865)
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:531)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:936)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2595)
at com.mysql.jdbc.Connection.<init>(Connection.java:1509)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at Connect.main(Connect.java:16)
** END NESTED EXCEPTION **
Last packet sent to the server was 9 ms ago.
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:561)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:936)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2595)
at com.mysql.jdbc.Connection.<init>(Connection.java:1509)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at Connect.main(Connect.java:16)
Process finished with exit code 0
А также, если я не предоставляю номер порта (22) для IP-адреса выше, это выдает ошибку, как показано ниже.
java.sql.SQLException: null, message from server: "Host '112.135.240.96' is not allowed to connect to this MySQL server"
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:962)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2595)
at com.mysql.jdbc.Connection.<init>(Connection.java:1509)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at Connect.main(Connect.java:16)
Process finished with exit code 0