Sto provando a stabilire una connessione nella mia app Java con JDBC per accedere al mio database online in modo da poter inserire e interrogare tabelle. Ecco quello che attualmente sto provando: (attuale IP/user/pass modificato, ma hanno ragione da quando ho fatto simile da uno script PHP)Java - problemi di connessione al database MySQL online utilizzando JDBC
String url = "jdbc:mysql://984.168.199.70/my_db_name";
String user = "my_username";
String pass = "my_password";
Class.forName ("com.mysql.jdbc.Driver").newInstance();
Connection conn = (Connection) DriverManager.getConnection(url, user, pass);
stmt = (Statement) conn.createStatement();
Ma questo non funziona, ho la errore:
Exception in thread "main" 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.
E il registro degli errori è piuttosto lungo dopo quello.
Quindi, solo per indicare: mi sono collegato a questo server prima di utilizzare uno script PHP, e ho usato JDBC per connettersi e interagire con i miei database MySQL localhost.
Grazie per qualsiasi aiuto.
Qualsiasi porta speciale aperta per MySQL, o è l'impostazione predefinita? – sgibly
Inoltre, consultare http://stackoverflow.com/questions/2102912/cant-make-jdbc-connection-to-mysql-using-java-intellij-and-linux – sgibly
Per quanto riguarda il problema concreto, controllare http: // stackoverflow.com/questions/2983248/jdbc-with-mysql/2985169#2985169 Per quanto riguarda il codice che hai postato finora, questi cast inutili mi fanno pensare che hai effettivamente importato le classi di implementazione concrete di MySQL per 'Connection' e' Statement'. Anche se non è necessariamente la causa del tuo problema, questa è una * cattiva pratica *. Dichiarare sempre contro le interfacce 'java.sql. *'! Se si aggiorna il driver o si cambia il DB, il codice JDBC si interromperà in caso contrario e sarà necessario eseguire una completa riscrittura/ricostruzione. – BalusC