Невозможно создать соединение с MySQL из eclipse

0

Я попытался подключиться к MySQL из eclipse, используя следующий код. Однако, когда я пытаюсь скомпилировать код, я получаю сообщение об ошибке (как показано после кода). Пожалуйста помоги. Я новичок. Я попытался немного изменить его, но не смог заставить его работать. Спасибо!

      public static void main(String[] args) {

    // creates three different Connection objects
    Connection conn = null;
    Connection conn2 = null;
    Connection conn3 = null;

    try {
        // connect way #1
        String user = "user";
        String password = "pwd";

        conn = DriverManager.getConnection ("jdbc:mysql://\" + host + \"/feedback?\" + \"user=\" + user + \"&password=\" + password+\"useSSL=false", "meher", "meher");
        if (conn != null) {
            System.out.println("Connected to the database test1");
        }
   } catch (SQLException ex) {
        System.out.println("An error occurred. Maybe user/password is invalid");
        ex.printStackTrace();
    }
}

}

СООБЩЕНИЕ ОБ ОШИБКЕ:

      >  An error occurred. Maybe user/password is invalid
         com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

>The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
>>  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.jdbc.Util.handleNewInstance(Util.java:425)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:342)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2188)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2221)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2016)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:776)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at 
 'enter code here'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.jdbc.Util.handleNewInstance(Util.java:425)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386)
    at 
    com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at meher.main(meher.java:29)


>    Caused by: java.net.UnknownHostException: " + host + "
>>  at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
    at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
    at java.net.InetAddress.getAllByName(InetAddress.java:1192)
    at java.net.InetAddress.getAllByName(InetAddress.java:1126)
    at 
    com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:188)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:301)
    ... 15 more

Большое спасибо за вашу помощь.

Теги:
jdbc
database-connection
mysql-connector

2 ответа

0

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

Выше строки говорят, что yor mysql не работает. Если вы используете XAMP сервера WAMP, сначала запустите сервер mysql. После этого попробуйте этот простой пример

public static void main(String[] args) {


    Connection conn = null;

    try {
        // connect way #1
        String user = "user";
        String password = "pwd";

conn= DriverManager
        .getConnection("jdbc:mysql://localhost:3306/dbname",user, password);
          if (conn != null) {
            System.out.println("Connected to the database test1");
        }
   } catch (SQLException ex) {
        System.out.println("An error occurred. Maybe user/password is invalid");
        ex.printStackTrace();
    }

}

Например

https://www.mkyong.com/jdbc/how-to-connect-to-mysql-with-jdbc-driver-java/

0

Причина объясняется в этой строке

Caused by: java.net.UnknownHostException: " + host + "

и проблема заключается в форматировании строки URL, так как имя хоста буквально означает "вызванное".

Попробуй это

String url = String.format("jdbc:mysql://%s/feedback?user=%s&password=%s&useSSL=false", user, password)
conn = DriverManager.getConnection (url, "meher", "meher");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню