Connessione a db Mysql remoto da java

di il
3 risposte

Connessione a db Mysql remoto da java

Salve a tutti.
Mi chiamo Giacomo e sono abbastanza nuovo nel settore.
Avrei bisogno di un aiuto in quanto sto cercando di connettermi al mio Db remoto dal mio progetto java.
La connessione e le operazioni CRUD funzionano se utilizzo mysql (XAMPP) che ho in locale, tuttavia se provo a connettermi al mio
db in remoto mi da una serie di errori.
Ho visto che dA CPanel bisogna abilitare il proprio IP e l'ho fatto andando su mysql remoto e aggiungendo il mio indirizzo IP. Vi posto il codice e l'errore.
Grazie a chi ha pazienza di aiutarmi.

public static Connection GetTheconn ()
{
Connection conn = null;

try
{

String url = "jdbc:mysql://localhost:3306/lnhvqkwj_javaserverbeandatabase";
Class.forName ("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection (url,"lnhvqkwj_MioNome","MiaPassword");
System.out.println ("Database connection established");
}
catch (Exception e)
{
e.printStackTrace();

}

return conn;
}




L'errore che ricevo:

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:403)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:335)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2187)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2220)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2015)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:768)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
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:403)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:385)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:323)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at it.connector.Connector.GetTheconn(Connector.java:32)
at it.connector.Connector.RegisterUser(Connector.java:108)
at it.controller.LoginController.doPost(LoginController.java:41)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

3 Risposte

  • Re: Connessione a db Mysql remoto da java

    Definisci "da remoto"!!!

    Fintanto che usi:

    "jdbc:mysql://localhost:3306/lnhvqkwj_javaserverbeandatabase"

    cioe' come server "localhost" (che corrisponde a 127.0.0.1), il PC LOCALE, e' ovvio che non potrai MAI accedere ad un DB che sta su un'ALTRA macchina con un DIVERSO IP (che sara' 192.168.1.xxx o 192.168.0.yyy, o qualcosa altro, ma questo lo devi scoprire tu).
  • Re: Connessione a db Mysql remoto da java

    Ok. Remoto intendo che è situato su un'altra macchina.
  • Re: Connessione a db Mysql remoto da java

    Hanh87 ha scritto:


    Ok. Remoto intendo che è situato su un'altra macchina.
    Guarda che se si tratta del database di un qualche hosting (pure se fosse a pagamento), è altamente improbabile che abbiano "aperto" la/e porta/e per accedere direttamente al db DA internet.
    Si tratta di una questione elementare di "sicurezza".
Devi accedere o registrarti per scrivere nel forum
3 risposte